该视频的本人观看信息bug

This commit is contained in:
caoqianming 2022-10-31 14:22:20 +08:00
parent 83dae85c4a
commit 5c60627313
2 changed files with 66 additions and 1 deletions

View File

@ -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': '题目',
},
),
]

View File

@ -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)