python - SQLAlchemy SessionTransaction 有查询属性吗?

标签 python sqlalchemy flask-sqlalchemy

我对 Python 和 SQLAlchemy 还很陌生,所以基本上我的改变是:

session = Session()
session.query(SOMETHING_HERE).filter()

session = Session()
nested_session = session.begin_nested()
nested_session.query(SOMETHING_HERE).filter()

为了使用保存点。但我收到错误:

AttributeError: 'SessionTransaction' object has no attribute 'query'

我深入研究了文档,如下所示:

但这对我没有帮助。

问题:我是否能够使用 begin_nested 来运行具有类似过滤器的查询,或者我需要更改方法?这是版本问题吗(例如sql alchemy)?

最佳答案

这最初是作为评论发布的。

您不需要将 session.begin_nested() 的结果重新分配给任何东西,您只需执行:session.begin_nested(),然后继续session.query(SOMETHING_HERE).filter()

此断言引用:https://docs.sqlalchemy.org/en/13/orm/session_transaction.html#using-savepoint

关于python - SQLAlchemy SessionTransaction 有查询属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67275999/

相关文章:

python - flask-sqlalchemy 对特定表使用 drop_all 和 create_all

python - ProgrammingError,Flask with postgres 和 sqlalchemy

python - 如何处理密码中的@符号 - sqlalchemy

python - 检查 SQLAlchemy 中互斥列的约束

python - Azure Powershell 中出现异常 'File not found' pscloudshell 错误

python - 为 matplotlib 函数插入图例

sqlalchemy - 在 SQLAlchemy 的多对多关系中使用 id 插入

python - 如何在 Flask 应用程序中使用 Postgre 的 HSTORE 类型?

python - 包含负值和正值混合的列表中小于 0 的最大值

python - 遍历多处理队列