3

我有以下课程

class ParentDocument(Document):
    .
    .
    .

class Child1Document(ParentDocument):
    .
    .
    .

class Child2Document(ParentDocument):

    .
    .
    .

现在假设我有一个 Child1Document 类型的文档。是否可以将其克隆到 Child2Document 类型的新文档中?

我试图这样做:

doc1 = Child1Document()
doc1.attr1 = foo
doc1.save()

doc2 = Child2Document()
doc2 = doc1

但这会将 doc2 转换为 Child1Document 类型。有没有办法在不转换 doc2 的情况下将 doc1 的所有内容复制到 doc2?

4

1 回答 1

5

是的,这是可能的,但您需要使用 deepcopy

你的代码看起来像这样:

from copy import deepcopy

doc1 = Child1Document()
doc1.attr1 = foo
doc1.save()

doc2 = deepcopy(doc1)
doc2.id = None
doc2.save()

克隆!

于 2012-05-16T04:14:12.423 回答