私はクイズアプリを実装しており、ラジオボタンを使用して多肢選択式の回答を表示しています。
質問ごとに回答をグループ化する必要があるため、このようにしています
{% for answer in quiz.quizanswer_set.all %}
<p><input type="radio" name="score[{{quiz.id}}]" value="{{answer.score}}"/>{{answer.answer}}</p>
{% endfor %}
送信を押すと、このような POST オブジェクトがあります
<QueryDict: {u'score[1]': [u'10'], u'score[3]': [u'10'], u'score[2]': [u'10'], u'Get Result': [u'Submit']}>
正規の方法でスコアをループするにはどうすればよいですか?
試してみrequest.POST.getlist('score')
ましたが、空のリストが返されます
PS。quiz.id は順番に並んでいない可能性があります。データベースの行 ID からのものです。
私の現在の回避策は次のとおりです。
for quiz in Quiz.objects.all():
total_score += int(request.POST.get('score[{0}]'.format(quiz.id)))