【问题标题】:SQLAlchemy SessionTransaction has query attribute?SQLAlchemy SessionTransaction 有查询属性?
【发布时间】: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'

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

但这对我没有帮助。

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

【问题讨论】:

  • 你不需要将session.begin_nested()的结果重新分配给任何东西,你可以这样做:session.begin_nested()然后继续session.query(SOMETHING_HERE).filter()
  • 以上评论参考:docs.sqlalchemy.org/en/13/orm/…
  • 注意到@mechanical_meat,谢谢!我会对其进行测试,很快我会带着反馈回来。也可以随意添加作为答案=]
  • 我很高兴知道。我已经添加了一个答案。祝项目的其余部分顺利!

标签: python sqlalchemy flask-sqlalchemy


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    相关资源
    最近更新 更多