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

はい、可能ですが、ディープコピーを使用する必要があります

コードは次のようになります。

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 に答える