克隆文档mongoengine

PyA*_*yAn 3 python mongodb mongoengine

我正在尝试查询集合;获取结果对象,然后我想克隆一个文档并将其保存到同一集合中。

scenario = ModelScenarios.objects(pk=scenario_id).clone()
obj = scenario.update(ScenarioName=data['ScenarioName'])
Run Code Online (Sandbox Code Playgroud)

这只是更新现有文档,但不克隆并应用新数据?这该怎么做?

Arn*_*aud 6

cloneMongoEngine文档上没有任何方法。使用您的代码,您克隆了QuerySet允许您获取文档的,而不是文档本身。

您应该首先使用上的get方法获取文档QuerySet

scenario = ModelScenarios.objects.get(pk=scenario_id)
Run Code Online (Sandbox Code Playgroud)

然后作出一个副本,描述在这里

from copy import deepcopy
obj = deepcopy(scenario)
obj.id = None
obj.ScenarioName = data["ScenarioName"]
obj.save()
Run Code Online (Sandbox Code Playgroud)