【问题标题】:What will detach objects implicitly from a SQLAlchemy session?什么会从 SQLAlchemy 会话中隐式分离对象?
【发布时间】:2013-10-11 02:44:53
【问题描述】:

我们有一种情况,在我们的代码中,我们看到某些对象是分离的,但我们自己并没有明确地分离这些对象。哪些 SQLAlchemy 方法/操作会导致对象分离?也许关闭一个会话或类似的东西?

注意:我已经阅读了 SQLAlchemy 文档,该文档确实涵盖了将对象重新附加到会话,但相对而言,实际上可以隐式分离实例的内容相对较少。

【问题讨论】:

    标签: sqlalchemy


    【解决方案1】:

    session.close() 将分离所有对象。如前所述,回滚将分离那些在回滚事务中插入的对象。

    【讨论】:

      【解决方案2】:

      我猜主要是如果你要“回滚”一个会话。作为the docs say

      添加时最初处于待处理状态的对象 交易生命周期内的会话被删除, 对应于他们的 INSERT 语句被回滚。国家 它们的属性保持不变。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-06
        • 1970-01-01
        • 2013-08-26
        • 1970-01-01
        • 2011-06-07
        • 2011-03-31
        • 2014-08-09
        • 2016-05-03
        相关资源
        最近更新 更多