增加category big
This commit is contained in:
parent
870587e878
commit
6d3e304359
|
@ -0,0 +1,25 @@
|
|||
# Generated by Django 3.0.5 on 2022-11-17 01:41
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('system', '0022_delete_historicaldict'),
|
||||
('vod', '0008_auto_20221116_1453'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='video',
|
||||
name='category_big',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='video_catebig', to='system.Dict', verbose_name='视频大类'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='video',
|
||||
name='category',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='video_cate', to='system.Dict', verbose_name='视频分类'),
|
||||
),
|
||||
]
|
|
@ -7,7 +7,8 @@ from apps.system.models import User, CommonAModel, Dict
|
|||
class Video(CommonAModel):
|
||||
|
||||
name = models.CharField(verbose_name='视频名称', max_length=100)
|
||||
category = models.ForeignKey(Dict, verbose_name='视频分类', on_delete=models.DO_NOTHING)
|
||||
category_big = models.ForeignKey(Dict, verbose_name='视频大类', on_delete=models.SET_NULL, null=True, blank=True, related_name='video_catebig')
|
||||
category = models.ForeignKey(Dict, verbose_name='视频分类', on_delete=models.SET_NULL, null=True, blank=True, related_name='video_cate')
|
||||
description = models.TextField(verbose_name='视频描述', default='')
|
||||
fileid = models.CharField(verbose_name='云点播视频id', unique=True, max_length=200)
|
||||
mediaurl = models.CharField(verbose_name='视频地址', max_length=200)
|
||||
|
|
|
@ -10,6 +10,11 @@ class VideoSerializer(serializers.ModelSerializer):
|
|||
|
||||
def create(self, validated_data):
|
||||
video = super().create(validated_data)
|
||||
cate = video.category
|
||||
video.category_big = cate
|
||||
if cate.pid:
|
||||
video.category_big = cate.pid
|
||||
video.save()
|
||||
View1.objects.get_or_create(video=video, defaults={'video': video})
|
||||
return video
|
||||
|
||||
|
@ -17,6 +22,15 @@ class VideoUpdateSerializer(serializers.ModelSerializer):
|
|||
class Meta:
|
||||
model = Video
|
||||
fields = ['name', 'category', 'description', 'sort_str']
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
video = super().update(instance, validated_data)
|
||||
cate = video.category
|
||||
video.category_big = cate
|
||||
if cate.pid:
|
||||
video.category_big = cate.pid
|
||||
video.save()
|
||||
return video
|
||||
|
||||
class VideoListDetailSerializer(serializers.ModelSerializer):
|
||||
views_n = serializers.IntegerField(source='view1_video.views', read_only=True, label="总观看次数")
|
||||
|
|
|
@ -107,6 +107,15 @@ class VideoViewSet(PageOrNot, CreateUpdateModelAMixin, ModelViewSet):
|
|||
cal_view1(vi)
|
||||
return Response({"vi": vi.id})
|
||||
|
||||
@action(methods=['get'], detail=False, perms_map={'get':'*'})
|
||||
def correct_cate(self, request, *args, **kwargs):
|
||||
for video in Video.objects.get_queryset(all=True).all():
|
||||
cate = video.category
|
||||
video.category_big = cate
|
||||
if cate.pid:
|
||||
video.category_big = cate.pid
|
||||
video.save()
|
||||
return Response()
|
||||
|
||||
def cal_view1(vi: ViewItem):
|
||||
"""
|
||||
|
|
|
@ -33,14 +33,15 @@ class SoftDeletableManagerMixin(object):
|
|||
'''
|
||||
_queryset_class = SoftDeletableQuerySet
|
||||
|
||||
def get_queryset(self):
|
||||
def get_queryset(self, all=False):
|
||||
'''
|
||||
Return queryset limited to not deleted entries.
|
||||
'''
|
||||
kwargs = {'model': self.model, 'using': self._db}
|
||||
if hasattr(self, '_hints'):
|
||||
kwargs['hints'] = self._hints
|
||||
|
||||
if all:
|
||||
return self._queryset_class(**kwargs)
|
||||
return self._queryset_class(**kwargs).filter(is_deleted=False)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue