我需要将一个对象附加到会话中,使其与数据库中持久的对象没有区别。(用代码更容易解释):
session.query(type(some_object)).filter_by(id=some_object.id).one()
有没有更合适的方法来做到这一点?
session.add(some_object)
不起作用,因为具有此类 ID 的实体已经可以附加到此会话,并且object = session.merge(some_object)
对我不起作用,因为它从分离的副本转换状态(如果我制作 object.name='asdfasdf' 这些更改将在合并后挂起目的)
编辑:
我发现了一种不那么丑陋的方式:
some_object = session.merge(some_object)
session.refresh(some_object)
但是有没有办法在一个电话中做到这一点?