是否可以从 SQLAlchemy session 中取消绑定(bind)对象?
我曾经deepcopy
它,但是像这样seems not to be possible当使用关联代理时,我正在寻找另一种解决方案来从 session 中删除对象以将其添加到另一个。
最佳答案
Expunge 从 Session 中删除一个对象,将持久实例发送到分离状态,并将挂起的实例发送到 transient :
session.expunge(obj1)
更新:可以使用
将分离的对象附加到相同或另一个 sessionsession2.add(obj1)
或合并
session2.merge(obj1)
使用 merge(),给定的实例不会放在 session 中,并且可以与不同的 session 关联或分离。 merge() 对于获取任何类型的对象结构的状态而不考虑其来源或当前 session 关联并将该状态置于 session 中非常有用。
关于python - 从 session 中取消绑定(bind)对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11213665/