Django - 将对象的 m2m 关系保存到另一个对象

Django - Save an object's m2m relationships to another object

我有一个临时响应模型,用于调查响应。当用户将调查最后一页上的答案保存到 Temporaryresponse 对象时,我还想将该对象中的所有内容保存到新的 Completedresponse 对象中。一切正常,除了我似乎无法将保存到 Temporaryresponse 对象中 "race" 字段的所有 m2m 对象保存到 Completedresponse 对象中的 "race" 字段。

无论我尝试使用添加或设置,我都无法找出正确的方法。

P.S。 - 我真的只想将此 Temporaryresponse 对象中的每个字段保存到新的 Completedresponse 对象中。现在我正在通过手动保存每个字段来执行此操作(请参阅 zip_code...)。有没有办法一次保存所有内容?

views.py

def vr(request, pk):
    finalresponse = get_object_or_404(Temporaryresponse, pk=pk)
    instance = Temporaryresponse.objects.get(pk=pk)
    if request.method == "POST":
        form = VotingresponseForm(request.POST, instance=instance)
        if form.is_valid():
            votingresponse = form.save()
            votingresponse.save()
            completed_response = Completedresponse(zip_code=votingresponse.zip_code,...)
            completed_response.save()
            completed_response.race.add(votingresponse.race)
            completed_response.save()
            return redirect('completed')

谢谢。我是编码新手,需要快速起床 运行,因此我在继续学习的过程中将其用作初步安全提升。

我找到了正确的方法:

    if form.is_valid() and instance.ip == ip:
        votingresponse = form.save()
        votingresponse.save()
        completed_response = Completedresponse(zip_code=votingresponse.zip_coded...)
        completed_response.save()
        completed_response.race.set(votingresponse.race.all())
        completed_response.save()
        votingresponse.delete()