如何在SQLAlchamy中获取光标

use*_*649 2 python sqlalchemy cursor flask flask-sqlalchemy

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

    app = Flask(__name__)  
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'  
    db = SQLAlchemy(app)   
Run Code Online (Sandbox Code Playgroud)

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

小智 13

这样就可以了。

db = SQLAlchemy(app)
session = db.session()
cursor = session.execute(sql).cursor
Run Code Online (Sandbox Code Playgroud)

  • 第 3 行中的“sql”应该是什么? (3认同)

use*_*649 9

终于从Flask文档中得到了答案,我们可以使用以下方法从db对象获取光标:

connection = db.engine.raw_connection()
cursor = connection.cursor()
Run Code Online (Sandbox Code Playgroud)

  • 我建议编辑此响应以使其更完整。是的,答案是使用raw_connection()。但是,有关为什么这是极不可取的一些上下文将是有用的。此外,在交易后关闭连接的最佳做法。以及原始连接如何影响整个sql-alchemy会话。 (2认同)