我正在扩展基本的django民意调查网站教程,我已经制作了一个允许用户添加自己的民意调查的视图。添加投票有效,添加选项则不然。显然这是因为民意调查尚未“存在”,并且不能使用p.id.但是,p.id在重定向底部的浏览器时有效。任何想法?
def save(request):
p = Poll(question=request.POST['question'], pub_date=timezone.now())
p.save()
c1 = Choice(poll=p.id, choice_text=request.POST['c1'], votes=0)
c2 = Choice(poll=p.id, choice_text=request.POST['c2'], votes=0)
c3 = Choice(poll=p.id, choice_text=request.POST['c3'], votes=0)
c4 = Choice(poll=p.id, choice_text=request.POST['c4'], votes=0)
c1.save()
c2.save()
c3.save()
c4.save()
return HttpResponseRedirect(reverse('detail', args=(p.id,)))
答案 0 :(得分:1)
没关系,我明白了。选择不需要id,而是需要对象。 通过改变来解决:
c1 = Choice(poll=p.id, choice_text=request.POST['c1'], votes=0)
到
c1 = Choice(poll=p, choice_text=request.POST['c1'], votes=0)