我在保存所选择的民意调查中遇到了困难。
例如,我创建问题和选择,并且它们彼此链接(如Django教程)。在本教程中,每次参与者选择答案时,所选的选项将保存为投票数(代码:selected_choice.votes += 1
)。我想做的不仅仅是保存整个答案,而不仅仅是数字。
这是保存票数的代码:
def vote(request, question_id):
p = get_object_or_404(Question, pk=question_id)
try:
selected_choice = p.choice_set.get(pk=request.POST['choice'])
except (KeyError, Choice.DoesNotExist):
return render(request, 'polls/detail.html', {
'question': p,
'error_message': "You didn't select a choice.",
})
else:
selected_choice.votes += 1
selected_choice.save()
return HttpResponseRedirect(reverse('polls:results', args=(p.id,)))
我还创建了另一个类Fill,它要求参与者在进行民意测验之前填写一些信息。我想要的是所选择的选项也保存在这类模型中。这些图片将描述我试图解释的内容。 1s图片中的红色圆圈是所选选项旨在保存的位置。第二张图片中的红色圆圈是保存的投票数。
这是在CharField类型中创建的Q1,Q2,Q3代码,用于存储选定的选项。
class Fill(models.Model):
Q1 = models.CharField(max_length=200, default='')
Q2 = models.CharField(max_length=200, default='')
Q3 = models.CharField(max_length=200, default='')
如果有人能帮助我,我真的很感激。 谢谢。
P / s:我的一般想法是将所选择的选项保存在收集的同一个人数据列表中,以便了解第一张图片中描述的每个人的选择。所以如果你知道其他任何方式,而不是在不同的课程中进行,请赐教。
答案 0 :(得分:1)
您需要跟踪每个用户(可能使用request.user)作为模型中的ForeignKey,并在模型中包含您想要的任何其他字段。这样,每个响应都与用户绑定。
https://docs.djangoproject.com/en/1.8/ref/models/fields/#django.db.models.ForeignKey