我有以下类(class)
class ParentDocument(Document):
.
.
.
class Child1Document(ParentDocument):
.
.
.
class Child2Document(ParentDocument):
.
.
.
现在假设我有一个 Child1Document 类型的文档。是否可以将其克隆到 Child2Document 类型的新文档?
我试图做:
doc1 = Child1Document()
doc1.attr1 = foo
doc1.save()
doc2 = Child2Document()
doc2 = doc1
但这会将 doc2 转换为 Child1Document 类型。有没有办法将 doc1 的所有内容复制到 doc2 而不转换 doc2?
最佳答案
是的,这是可能的,但您需要使用 deepcopy
你的代码看起来像这样:
from copy import deepcopy
doc1 = Child1Document()
doc1.attr1 = foo
doc1.save()
doc2 = deepcopy(doc1)
doc2.id = None
doc2.save()
克隆!
关于mongoengine - 使用 mongoengine 将现有文档克隆到新的同级类文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9776833/