gpt4 book ai didi

python - 处理同一实体的多个实例和状态

转载 作者:行者123 更新时间:2023-12-01 05:56:54 25 4
gpt4 key购买 nike

from sqlalchemy.orm import Session
s = Session()
s.autoflush = False
s.autocommit = False

p1 = s.query(Person).first()
print p1 #prints 'Ivan Petrov', correct name of a person #1
p1.name = 'John Smith' #change the person's name

p2 = s.query(Person).first()
print p2 #prints 'John Smith', but the object wasn't flushed yet.

那么,问题是 - 我该如何正确处理这种情况?我需要对 p1 进行更改,以免影响 session (和 p2),除非我这么说。

最佳答案

您可以尝试从 session 中分离对象:

session.expunge(p1)

要重新连接,您可以尝试:

p2 = session.merge(p1)

或者使用不同的 session 对象。但迟早你操纵同一个实体的事实将会出现。

关于python - 处理同一实体的多个实例和状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12037818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com