|
@@ -170,48 +170,44 @@ class ExamLogViewSet(CustomModelViewSet):
|
|
|
|
|
|
# 右侧习题类别列表
|
|
|
# 单选、多选、填空。选择答案后,可能会把答案清空,得加上NOTDONE过滤
|
|
|
- questions = ExamPaperDetail.objects.filter(main=instance.exampaper, delete=False).values('id','question_id',
|
|
|
- )
|
|
|
+ questions = ExamPaperDetail.objects.filter(main=instance.exampaper, delete=False).values_list('id',
|
|
|
+ flat=True)
|
|
|
single_questions_list = []
|
|
|
for single in questions.filter(question__type=ExamQuestion.SINGLE):
|
|
|
- answer_log = ExamAnswerLog.objects.filter(main=instance, detail=single['id'])
|
|
|
+ answer_log = ExamAnswerLog.objects.filter(main=instance, detail=single)
|
|
|
single_questions_list.append(
|
|
|
{
|
|
|
- 'question_id': single['id'],
|
|
|
- 'question': single['question_id'],
|
|
|
+ 'question_id': single,
|
|
|
'complete': answer_log and True or False,
|
|
|
}
|
|
|
)
|
|
|
# 多选题
|
|
|
multiple_questions_list = []
|
|
|
for multiple in questions.filter(question__type=ExamQuestion.MULTIPLE):
|
|
|
- answer_log = ExamAnswerLog.objects.filter(main=instance, detail=multiple['id'])
|
|
|
+ answer_log = ExamAnswerLog.objects.filter(main=instance, detail=multiple)
|
|
|
multiple_questions_list.append(
|
|
|
{
|
|
|
- 'question_id': multiple['id'],
|
|
|
- 'question': multiple['question_id'],
|
|
|
+ 'question_id': multiple,
|
|
|
'complete': answer_log and True or False,
|
|
|
}
|
|
|
)
|
|
|
# 填空题
|
|
|
fill_questions_list = []
|
|
|
for fill in questions.filter(question__type=ExamQuestion.FILL):
|
|
|
- answer_log = ExamAnswerLog.objects.filter(main=instance, detail=fill['id'])
|
|
|
+ answer_log = ExamAnswerLog.objects.filter(main=instance, detail=fill)
|
|
|
fill_questions_list.append(
|
|
|
{
|
|
|
- 'question_id': fill['id'],
|
|
|
- 'question': fill['question_id'],
|
|
|
+ 'question_id': fill,
|
|
|
'complete': answer_log and True or False,
|
|
|
}
|
|
|
)
|
|
|
# 判断题
|
|
|
judgment_questions_list = []
|
|
|
for judgment in questions.filter(question__type=ExamQuestion.JUDGMENT):
|
|
|
- answer_log = ExamAnswerLog.objects.filter(main=instance, detail=judgment['id'])
|
|
|
+ answer_log = ExamAnswerLog.objects.filter(main=instance, detail=judgment)
|
|
|
judgment_questions_list.append(
|
|
|
{
|
|
|
- 'question_id': judgment['id'],
|
|
|
- 'question': judgment['question_id'],
|
|
|
+ 'question_id': judgment,
|
|
|
'complete': answer_log and True or False,
|
|
|
}
|
|
|
)
|