首页 > 解决方案 > SQLAlchemy SessionTransaction 有查询属性?

问题描述

我是 Python 和 SQLAlchemy 的新手,所以基本上我是从:

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

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

为了使用 SAVEPOINTS。但我得到了错误:

AttributeError:“SessionTransaction”对象没有属性“查询”

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

但这对我没有帮助。

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

标签: pythonsqlalchemyflask-sqlalchemy

解决方案


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

您不需要将结果重新分配session.begin_nested()给任何东西,您可以这样做:session.begin_nested()然后继续session.query(SOMETHING_HERE).filter()

此断言的参考:https ://docs.sqlalchemy.org/en/13/orm/session_transaction.html#using-savepoint


推荐阅读