diff --git a/test_server/examtest/models.py b/test_server/examtest/models.py index e632c45..d633785 100644 --- a/test_server/examtest/models.py +++ b/test_server/examtest/models.py @@ -24,7 +24,6 @@ class Exam(CommonModel): def __str__(self): return self.name - class ExamTest(CommonModel): ''' 考试记录表 @@ -54,6 +53,7 @@ class ExamTest(CommonModel): verbose_name_plural = verbose_name + class AnswerDetail(SoftCommonModel): examtest = models.ForeignKey(ExamTest, on_delete=models.CASCADE, related_name='answerdetail_examtest') question = models.ForeignKey(Question, on_delete=models.CASCADE) diff --git a/test_server/examtest/views.py b/test_server/examtest/views.py index 75f9dd0..2e71877 100644 --- a/test_server/examtest/views.py +++ b/test_server/examtest/views.py @@ -105,9 +105,10 @@ class ExamViewSet(ModelViewSet): now = timezone.now() try: exam = Exam.objects.get(code=code, opentime__lt=now, closetime__gt=now) - if ExamTest.objects.filter(exam=exam, consumer=request.user).exists(): - return Response({'error':'您已参加过该场考试'}) - return Response({'exam':exam.pk}) + tests = ExamTest.objects.filter(exam=exam, consumer=request.user) + if tests.count() <= exam.chance: # 还有考试机会就可以接着考 + return Response({'exam':exam.pk}) + return Response({'error':'考试机会不足'}) except: return Response({'error':'考试编号不存在'}) return Response({'error':'操作失败'}) diff --git a/test_server/media/muban/user.xlsx b/test_server/media/muban/user.xlsx index 9d78c9e..9854e11 100644 Binary files a/test_server/media/muban/user.xlsx and b/test_server/media/muban/user.xlsx differ