什么会从SQLAlchemy会话中隐式分离对象?

时间:2013-10-10 13:25:54

标签: sqlalchemy

我们的情况是,在我们的代码中的某些时刻,我们看到某些对象是分离的,但我们自己并没有明确地分离对象。什么SQLAlchemy方法/操作可以导致对象分离?也许结束会议或类似的事情?

注意:我已经阅读了SQLAlchemy文档,其中包括将对象重新附加到会话,但实际上可以隐式分离实例的相对较少。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

我想主要的一个是你要“回滚”一个会话。正如the docs say

  

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