Pydantic在将一个模型传递给另一个模型的构造函数时会复制该模型。这样做会导致失败:
from pydantic import BaseModel
class Child(BaseModel):
pass
class Parent(BaseModel):
child: Child
child = Child()
parent = Parent(child=child)
assert parent.child is child
# Fails
当将child
传递给父类的构造函数时,看起来child
被复制了,因此child
和parent.child
的身份不同。 我希望它们是相同的,因为我需要稍后修改child
的属性,并且更改应该在parent.child
中可见。
如何使Pydantic不复制child
?