diff --git a/server/apps/edu/migrations/0009_alter_certificate_用户id.py b/server/apps/edu/migrations/0009_alter_certificate_用户id.py new file mode 100644 index 0000000..0424bf8 --- /dev/null +++ b/server/apps/edu/migrations/0009_alter_certificate_用户id.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.12 on 2024-06-06 02:26 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('edu', '0008_certificate_用户id'), + ] + + operations = [ + migrations.AlterField( + model_name='certificate', + name='用户ID', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/server/apps/edu/models.py b/server/apps/edu/models.py index ac25761..adbf6d2 100644 --- a/server/apps/edu/models.py +++ b/server/apps/edu/models.py @@ -26,8 +26,8 @@ class Certificate(CommonADModel): 是否需要北京标研培训合格 = models.BooleanField(default=False) 课程列表 = models.ManyToManyField(Course, blank=True) 培训日期 = models.DateField(null=True, blank=True) - 培训结束日期 = models.DateField(null=True, blank=True) + 培训结束日期 = models.DateField(null=True, blank=True) 发证日期 = models.DateField(null=True, blank=True) 证书地址 = models.CharField(max_length=100, null=True, blank=True) - 用户ID = models.IntegerField(null=True, blank=True, max_length=32) + 用户ID = models.ForeignKey(null=True, blank=True, to='system.User', on_delete=models.CASCADE) examrecord = models.OneToOneField('exam.ExamRecord', on_delete=models.CASCADE, null=True, blank=True, related_name='cert_er') diff --git a/server/apps/exam/views.py b/server/apps/exam/views.py index 4e835c3..f425400 100644 --- a/server/apps/exam/views.py +++ b/server/apps/exam/views.py @@ -557,7 +557,9 @@ class ExamRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, G def get_serializer_class(self): if self.action == 'retrieve': - return ExamRecordDetailSerializer + now = timezone.now() + if now > self.get_object().exam.end_time: + return ExamRecordDetailSerializer return super().get_serializer_class() def perform_destroy(self, instance): # 考试记录物理删除 diff --git a/server/apps/information/migrations/0050_alter_qualification_change_date.py b/server/apps/information/migrations/0050_alter_qualification_change_date.py new file mode 100644 index 0000000..e2122ab --- /dev/null +++ b/server/apps/information/migrations/0050_alter_qualification_change_date.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.12 on 2024-06-06 02:26 + +import datetime +from django.db import migrations, models +from django.utils.timezone import utc + + +class Migration(migrations.Migration): + + dependencies = [ + ('information', '0049_alter_qualification_change_date'), + ] + + operations = [ + migrations.AlterField( + model_name='qualification', + name='change_date', + field=models.DateField(blank=True, default=datetime.datetime(2024, 6, 6, 2, 26, 43, 23224, tzinfo=utc), null=True, verbose_name='变更日期'), + ), + ]