有考试机会可再考

This commit is contained in:
caoqianming 2021-05-08 11:32:58 +08:00
parent fd620df3df
commit d4f07aa39a
3 changed files with 5 additions and 4 deletions

View File

@ -24,7 +24,6 @@ class Exam(CommonModel):
def __str__(self): def __str__(self):
return self.name return self.name
class ExamTest(CommonModel): class ExamTest(CommonModel):
''' '''
考试记录表 考试记录表
@ -54,6 +53,7 @@ class ExamTest(CommonModel):
verbose_name_plural = verbose_name verbose_name_plural = verbose_name
class AnswerDetail(SoftCommonModel): class AnswerDetail(SoftCommonModel):
examtest = models.ForeignKey(ExamTest, on_delete=models.CASCADE, related_name='answerdetail_examtest') examtest = models.ForeignKey(ExamTest, on_delete=models.CASCADE, related_name='answerdetail_examtest')
question = models.ForeignKey(Question, on_delete=models.CASCADE) question = models.ForeignKey(Question, on_delete=models.CASCADE)

View File

@ -105,9 +105,10 @@ class ExamViewSet(ModelViewSet):
now = timezone.now() now = timezone.now()
try: try:
exam = Exam.objects.get(code=code, opentime__lt=now, closetime__gt=now) exam = Exam.objects.get(code=code, opentime__lt=now, closetime__gt=now)
if ExamTest.objects.filter(exam=exam, consumer=request.user).exists(): tests = ExamTest.objects.filter(exam=exam, consumer=request.user)
return Response({'error':'您已参加过该场考试'}) if tests.count() <= exam.chance: # 还有考试机会就可以接着考
return Response({'exam':exam.pk}) return Response({'exam':exam.pk})
return Response({'error':'考试机会不足'})
except: except:
return Response({'error':'考试编号不存在'}) return Response({'error':'考试编号不存在'})
return Response({'error':'操作失败'}) return Response({'error':'操作失败'})

Binary file not shown.