|
@@ -139,8 +139,9 @@ class ExamLogViewSet(CustomModelViewSet):
|
|
break
|
|
break
|
|
|
|
|
|
if has_answers > 0:
|
|
if has_answers > 0:
|
|
- answer_log, create = ExamAnswerLog.objects.get_or_create(main=instance,
|
|
|
|
- detail=detail, )
|
|
|
|
|
|
+ answer_log = ExamAnswerLog.objects.filter(main=instance, detail=detail).first()
|
|
|
|
+ if not answer_log:
|
|
|
|
+ answer_log = ExamAnswerLog.objects.create(main=instance, detail=detail)
|
|
if now_question.type <= ExamQuestion.MULTIPLE:
|
|
if now_question.type <= ExamQuestion.MULTIPLE:
|
|
# 单选、多选
|
|
# 单选、多选
|
|
answers.sort()
|
|
answers.sort()
|
|
@@ -167,11 +168,12 @@ class ExamLogViewSet(CustomModelViewSet):
|
|
answer_log.save()
|
|
answer_log.save()
|
|
else:
|
|
else:
|
|
try:
|
|
try:
|
|
- answer_log = ExamAnswerLog.objects.get(main=instance, detail=detail)
|
|
|
|
- ExamAnswerOptionLog.objects.filter(main=answer_log).delete()
|
|
|
|
- ExamAnswerFillLog.objects.filter(main=answer_log).delete()
|
|
|
|
- answer_log.status = ExamAnswerLog.NOTDONE
|
|
|
|
- answer_log.save()
|
|
|
|
|
|
+ answer_log = ExamAnswerLog.objects.filter(main=instance, detail=detail).first()
|
|
|
|
+ if answer_log:
|
|
|
|
+ ExamAnswerOptionLog.objects.filter(main=answer_log).delete()
|
|
|
|
+ ExamAnswerFillLog.objects.filter(main=answer_log).delete()
|
|
|
|
+ answer_log.status = ExamAnswerLog.NOTDONE
|
|
|
|
+ answer_log.save()
|
|
except ExamAnswerLog.DoesNotExist:
|
|
except ExamAnswerLog.DoesNotExist:
|
|
# traceback.print_exc()
|
|
# traceback.print_exc()
|
|
pass
|
|
pass
|
|
@@ -318,7 +320,9 @@ class ExamLogViewSet(CustomModelViewSet):
|
|
paper_details = ExamPaperDetail.objects.filter(main=instance.exampaper, delete=False)
|
|
paper_details = ExamPaperDetail.objects.filter(main=instance.exampaper, delete=False)
|
|
for detail in paper_details:
|
|
for detail in paper_details:
|
|
# 创建考试未答题记录,如果没有找到答案记录,则该题保留未答状态
|
|
# 创建考试未答题记录,如果没有找到答案记录,则该题保留未答状态
|
|
- answer_log, create = ExamAnswerLog.objects.get_or_create(main=instance, detail=detail)
|
|
|
|
|
|
+ answer_log = ExamAnswerLog.objects.filter(main=instance, detail=detail).first()
|
|
|
|
+ if not answer_log:
|
|
|
|
+ answer_log = ExamAnswerLog.objects.create(main=instance, detail=detail)
|
|
# answer_logs = ExamAnswerLog.objects.filter(main=instance)
|
|
# answer_logs = ExamAnswerLog.objects.filter(main=instance)
|
|
# for answer_log in answer_logs:
|
|
# for answer_log in answer_logs:
|
|
question = detail.question
|
|
question = detail.question
|