我想使用orm在SQLAlchemy中复制一个模型实例(行)。我的第一个想法是这样做:
i = session.query(Model)
session.expunge(i)
old_id = i.id
i.id = None
session.add(i)
session.flush()
print i.id #New ID
然而,显然分离的对象仍然“记住”它拥有的id,即使我在分离时将id设置为None。因此,session.flush()尝试执行将主键更改为null的更新。
这是预期的行为吗?我如何移除这个属性的‘内存’,并在重新将分离的对象添加到会话中时将其视为新对象?一般来说,如何克隆一个SQLAlchemy模型实例?
https://stackoverflow.com/questions/14636192
复制相似问题