.
This commit is contained in:
+21
-4
@@ -158,9 +158,12 @@ class AnatomyQuestion(models.Model):
|
||||
return reverse("anatomy:question_detail", kwargs={"pk": self.pk})
|
||||
|
||||
def get_primary_answer(self):
|
||||
ans = self.answers.filter(
|
||||
proposed=False, status=Answer.MarkOptions.CORRECT
|
||||
).first()
|
||||
if hasattr(self, "prefetched_primary_answer"):
|
||||
ans = self.prefetched_primary_answer[0]
|
||||
else:
|
||||
ans = self.answers.filter(
|
||||
proposed=False, status=Answer.MarkOptions.CORRECT
|
||||
).first()
|
||||
# ans = self.answers.first()
|
||||
|
||||
if ans is None:
|
||||
@@ -214,13 +217,26 @@ class AnatomyQuestion(models.Model):
|
||||
return unmarked_answers
|
||||
|
||||
def get_unmarked_user_answer_count(self, exam_pk=None):
|
||||
return len(self.get_unmarked_user_answers(exam_pk))
|
||||
if exam_pk is None:
|
||||
return self.cid_user_answers.filter(
|
||||
score=Answer.MarkOptions.UNMARKED
|
||||
).count()
|
||||
else:
|
||||
if hasattr(self, "prefetched_unmarked_cid_answers"):
|
||||
return len(self.prefetched_unmarked_cid_answers)
|
||||
|
||||
else:
|
||||
return self.cid_user_answers.filter(
|
||||
score=Answer.MarkOptions.UNMARKED, exam__id=exam_pk
|
||||
).count()
|
||||
# return len(self.get_unmarked_user_answers(exam_pk))
|
||||
|
||||
def get_marked_answers(self):
|
||||
return set(
|
||||
[
|
||||
i.answer_compare
|
||||
for i in self.answers.filter(proposed=False)
|
||||
# for i in self.answers.all()
|
||||
if i.status != i.MarkOptions.UNMARKED
|
||||
]
|
||||
)
|
||||
@@ -236,6 +252,7 @@ class AnatomyQuestion(models.Model):
|
||||
[
|
||||
str(i)
|
||||
for i in self.answers.filter(proposed=False)
|
||||
# for i in self.answers.all()
|
||||
if i.status == i.MarkOptions.CORRECT
|
||||
]
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user