diff --git a/server/apps/exam/migrations/0003_auto_20221108_0901.py b/server/apps/exam/migrations/0003_auto_20221108_0901.py new file mode 100644 index 0000000..64aedfc --- /dev/null +++ b/server/apps/exam/migrations/0003_auto_20221108_0901.py @@ -0,0 +1,31 @@ +# Generated by Django 3.0.5 on 2022-11-08 01:01 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('exam', '0002_auto_20221107_1356'), + ] + + operations = [ + migrations.RemoveField( + model_name='examrecord', + name='questions', + ), + migrations.RemoveField( + model_name='paperquestion', + name='sort', + ), + migrations.AddField( + model_name='answerdetail', + name='total_score', + field=models.FloatField(default=0, verbose_name='该题满分'), + ), + migrations.AddField( + model_name='examrecord', + name='is_submited', + field=models.BooleanField(default=False), + ), + ] diff --git a/server/apps/exam/views.py b/server/apps/exam/views.py index c0c4461..da12242 100644 --- a/server/apps/exam/views.py +++ b/server/apps/exam/views.py @@ -231,7 +231,10 @@ class PaperViewSet(ModelViewSet): def update(self, request, *args, **kwargs): # 有考试在执行,不可更新 + now = timezone.now() paper = self.get_object() + if Exam.objects.filter(close_time__gte=now, paper=paper).exists(): + raise ParseError('存在考试,不可编辑') sr = PaperCreateUpdateSerializer(instance=paper, data=request.data) sr.is_valid(raise_exception=True) vdata = sr.validated_data