【发布时间】:2021-04-28 03:42:23
【问题描述】:
我是 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' 对象没有属性 'query'
我深入研究了文档,如下所示:
-
https://docs.sqlalchemy.org/en/13/orm/session_api.html#sqlalchemy.orm.session.SessionTransaction
-
https://docs.sqlalchemy.org/en/13/orm/session_transaction.html
但这对我没有帮助。
问题:我是否可以使用 begin_nested 来运行带有过滤器的查询,或者我需要更改方法?这是版本问题(例如 sql alchemy)吗?
【问题讨论】:
-
你不需要将
session.begin_nested()的结果重新分配给任何东西,你可以这样做:session.begin_nested()然后继续session.query(SOMETHING_HERE).filter()。 -
注意到@mechanical_meat,谢谢!我会对其进行测试,很快我会带着反馈回来。也可以随意添加作为答案=]
-
我很高兴知道。我已经添加了一个答案。祝项目的其余部分顺利!
标签: python sqlalchemy flask-sqlalchemy