From d4f07aa39afc8de71687ed63afdc23eaa0fe0b02 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sat, 8 May 2021 11:32:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=89=E8=80=83=E8=AF=95=E6=9C=BA=E4=BC=9A?= =?UTF-8?q?=E5=8F=AF=E5=86=8D=E8=80=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test_server/examtest/models.py | 2 +- test_server/examtest/views.py | 7 ++++--- test_server/media/muban/user.xlsx | Bin 13388 -> 10628 bytes 3 files changed, 5 insertions(+), 4 deletions(-) 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 9d78c9e12c816b8218f8ff80361c9f849b8d30da..9854e1191bd46880edd9bdef7c4b081828ca86c0 100644 GIT binary patch literal 10628 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 literal 13388 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 z%0D+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