diff --git a/server/apps/exam/migrations/0001_initial.py b/server/apps/exam/migrations/0001_initial.py new file mode 100644 index 0000000..22b7f26 --- /dev/null +++ b/server/apps/exam/migrations/0001_initial.py @@ -0,0 +1,61 @@ +# Generated by Django 3.0.5 on 2022-10-31 02:26 + +from django.conf import settings +import django.contrib.postgres.fields.jsonb +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Questioncat', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('name', models.CharField(max_length=200, verbose_name='名称')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='questioncat_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='questioncat_parent', to='exam.Questioncat', verbose_name='父')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='questioncat_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')), + ], + options={ + 'verbose_name': '题目分类', + 'verbose_name_plural': '题目分类', + }, + ), + migrations.CreateModel( + name='Question', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('name', models.TextField(verbose_name='题干')), + ('img', models.CharField(blank=True, max_length=1000, null=True, verbose_name='题干图片')), + ('type', models.CharField(choices=[('单选', '单选'), ('多选', '多选'), ('判断', '判断')], default='单选', max_length=50, verbose_name='题型')), + ('level', models.CharField(choices=[('低', '低'), ('中', '中'), ('高', '高')], default='低', max_length=50, verbose_name='难度')), + ('options', django.contrib.postgres.fields.jsonb.JSONField(verbose_name='选项')), + ('right', django.contrib.postgres.fields.jsonb.JSONField(verbose_name='正确答案')), + ('resolution', models.TextField(blank=True, verbose_name='解析')), + ('enabled', models.BooleanField(default=False, verbose_name='是否启用')), + ('year', models.IntegerField(blank=True, null=True, verbose_name='真题年份')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='question_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), + ('questioncat', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='questioncat', to='exam.Questioncat', verbose_name='所属题库')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='question_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')), + ], + options={ + 'verbose_name': '题目', + 'verbose_name_plural': '题目', + }, + ), + ] diff --git a/server/apps/vod/views.py b/server/apps/vod/views.py index 7b1b255..3aedc6f 100644 --- a/server/apps/vod/views.py +++ b/server/apps/vod/views.py @@ -101,7 +101,11 @@ class MyViewRecordAPIView(APIView): video = Video.objects.get(pk=id) except: return Response('视频不存在', status=HTTP_400_BAD_REQUEST) - record, _ = ViewRecord.objects.get_or_create(video=video, user=request.user, defaults={'video':video, 'user':request.user}) + record = ViewRecord.objects.filter(video=video, user=request.user).first() + if record: + pass + else: + record = ViewRecord.objects.create(video=video, user=request.user) serializer = VRecordSerializer(instance=record) return Response(serializer.data) diff --git a/server/server/settings_pro.py b/server/server/settings_pro.py deleted file mode 100644 index 2e98f3d..0000000 --- a/server/server/settings_pro.py +++ /dev/null @@ -1,8 +0,0 @@ -from .settings import * -DEBUG = False -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), - } -}