mongoengine - 使用 mongoengine 将现有文档克隆到新的同级类文档

标签 mongoengine

我有以下类(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/

相关文章:

python - Django 从 json 对象查询 View 中的 MongoDB ObjectId

python - Mongoengine + Django : strange errors with fields during rendering

mongodb - flask mongoengine 通过 uri 连接

python - 在 MongoEngine 查询中获取引用对象的数据,而不仅仅是 id

python - 如何在 Mongoengine Python 中获取字典对象?

mongodb - 全文检索 MongoDB/Mongoengine

python - 如何继承查询MongoEngine文档?

python - Mongoengine 序列化器错误 | python | Django 休息框架

python - 初始化一个新的mongoengine文档时调用某些函数

python - 一起使用 Mapfield 和 DynamicEmbeddedDocument 时出现 InvalidDocumentError