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



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

无论我尝试添加或设置什么,我都无法找出正确的方法来做到这一点。

PS - 我真的只想将这个临时响应对象中的每个字段保存到新的 Completeresponse 对象。现在我通过手动保存每个字段来做到这一点(请参阅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()

相关内容

  • 没有找到相关文章

最新更新