From d9c1d75512551ebaa449f457670aa1531120dee3 Mon Sep 17 00:00:00 2001 From: Ross Date: Wed, 30 Mar 2022 22:24:34 +0100 Subject: [PATCH] . --- rapids/views.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rapids/views.py b/rapids/views.py index 4d9a667b..bd5c0541 100755 --- a/rapids/views.py +++ b/rapids/views.py @@ -747,10 +747,15 @@ def exam_scores_cid_user(request, pk, cid, passcode): # TODO:Need some kind of test for cid - questions = exam.exam_questions.all().prefetch_related("cid_user_answers", "answers") + questions = exam.exam_questions.all()#.prefetch_related("cid_user_answers", "answers") cid_user_answers = CidUserAnswer.objects.filter(cid=cid, exam__id=pk) + cid_user_answers_q_map = {} + + for ans in cid_user_answers: + cid_user_answers_q_map[ans.question] = ans + answers_and_marks = [] answers_marks = [] answers = [] @@ -762,7 +767,7 @@ def exam_scores_cid_user(request, pk, cid, passcode): for q in questions: # Get user answer #user_answer = q.cid_user_answers.filter(cid=cid, exam__id=pk).first() - user_answer = cid_user_answers.filter(question=q).first() + user_answer = cid_user_answers_q_map[q] if not user_answer or user_answer is None: # skip if no answer