gpt4 book ai didi

sqlalchemy - 使用 SQLAlchemy 的 Pylons 应用程序中的原始 SQL?

转载 作者:行者123 更新时间:2023-12-04 16:49:17 27 4
gpt4 key购买 nike

我继承了一个使用 SQLAlchemy 的 Pylons 应用程序。我对 SQLAlchemy 一无所知,对 Pylons 知之甚少:)

我需要在应用程序中运行一些原始 SQL。 SQLAlchemy 目前似乎以下列方式工作(示例代码):

import myapp.model as model
model.Session.query(model.KeyValue) # existing code
.join(model.Key)
.filter(model.Key.name == name)
).count() == 0, name

如何让它运行原始 SQL?我看到我需要一个 execute() 语句,但我该如何运行它呢?以下均失败:

model.Session.execute('create table hello_world;')
model.Connection.execute("""
create table hello_world;
""")

什么是魔法调用?现有代码中没有对 Connection 对象的引用,我不确定如何创建一个。

最佳答案

您可以通过使用它的connection method 来获取Session 使用的连接。 :

connection = model.Session.connection()

然后您可以发出您的查询:

connection.execute('create table hello_world;')

请注意,在 Pylons 模型中。Session 不是 sqlalchemy.orm.session.Session 。它是 sqlalchemy.orm.scoping.ScopedSession实例 .这就是它在 model.meta 模块中的创建方式:

Session = scoped_session(sessionmaker())

关于sqlalchemy - 使用 SQLAlchemy 的 Pylons 应用程序中的原始 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3754806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com