如何在 SQLAlchemy 中获取游标

How to get cursor in SQLAlchamy

我是 Python Flask 的新手。在我的项目中,我们使用以下代码创建 db 对象。

    app = Flask(__name__)  
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'  
    db = SQLAlchemy(app)   

我想从数据库中获取游标对象。有人可以帮助我吗? 我知道使用连接对象我们可以获得光标。但是我们可以从上面创建的 db 对象中获取游标吗?谢谢。

您在 Flask SQLA​​lchemy 中没有游标,因为它是一个 ORM。与 SQLite 等包不同,存在直接对数据库执行操作的方法。 Check the documentation for more info on these.

要直接执行 SQL 查询,您必须 运行 通过终端直接通过您使用的任何 RDBMS(MySQL、PostgreSQL等)

终于从 Flask 文档中得到答案,我们可以使用

从 db 对象获取光标
from sqlalchemy import create_engine
engine = create_engine('your_connection_string')
connection = engine.raw_connection()
cursor = connection.cursor()

这样就可以了

db = SQLAlchemy(app)
session = db.session()
cursor = session.execute(sql).cursor