我们的情况是,在我们的代码中的某些时刻,我们看到某些对象是分离的,但我们自己并没有明确地分离对象。什么SQLAlchemy方法/操作可以导致对象分离?也许结束会议或类似的事情?
注意:我已经阅读了SQLAlchemy文档,其中包括将对象重新附加到会话,但实际上可以隐式分离实例的相对较少。
答案 0 :(得分:3)
session.close()将分离所有对象。如上所述的回滚将分离那些在回滚事务中被插入的对象。
答案 1 :(得分:0)
我想主要的一个是你要“回滚”一个会话。正如the docs say:
添加时最初处于暂挂状态的对象 在交易生命周期内的会话被清除, 对应于它们的INSERT语句被回滚。国家 他们的属性保持不变。