我有一个用于调查答复的临时答复模型。当用户在调查的最后一页上将答案保存到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')
答案 0 :(得分:0)
谢谢。我是编码的新手,需要快速启动并运行,因此在我继续学习的过程中,我将其用作安全性的初步提升。
我想出了正确的方法:
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()