去除vod 数据过滤

This commit is contained in:
caoqianming 2022-03-27 15:56:52 +08:00
parent 3741a7b6c4
commit 4677027bc6
1 changed files with 24 additions and 28 deletions

View File

@ -19,26 +19,22 @@ class CourseViewSet(ModelViewSet):
perms_map = [ perms_map = [
{'get': '*'}, {'post': 'vod'}, {'get': '*'}, {'post': 'vod'},
{'put': 'vod'}, {'delete': 'vod'}] {'put': 'vod'}, {'delete': 'vod'}]
def get_queryset(self): # def get_queryset(self):
queryset = self.queryset # queryset = self.queryset
if hasattr(self.get_serializer_class(), 'setup_eager_loading'): # if hasattr(self.get_serializer_class(), 'setup_eager_loading'):
queryset = self.get_serializer_class().setup_eager_loading(queryset) # queryset = self.get_serializer_class().setup_eager_loading(queryset)
if self.request.user.is_superuser: # if self.request.user.is_superuser:
return queryset # return queryset
roles = self.request.user.roles.values_list('name', flat=True) # roles = self.request.user.roles.values_list('name', flat=True)
if '普通管理' in roles: # if '普通管理' in roles:
queryset = queryset.filter(Q(create_admin = self.request.user)|Q(create_admin=self.request.user)) # queryset = queryset.filter(Q(create_admin = self.request.user)|Q(create_admin=self.request.user))
else: # else:
return queryset.none() # return queryset.none()
return queryset # return queryset
def perform_create(self, serializer): def perform_create(self, serializer):
serializer.save(create_admin=self.request.user) serializer.save(create_admin=self.request.user)
def perform_update(self, serializer):
ret = serializer.validated_data
return super().perform_update(serializer)
class VideoViewSet(ModelViewSet): class VideoViewSet(ModelViewSet):
queryset = Video.objects.all() queryset = Video.objects.all()
filterset_fields = ['course'] filterset_fields = ['course']
@ -49,18 +45,18 @@ class VideoViewSet(ModelViewSet):
perms_map = [ perms_map = [
{'get': '*'}, {'post': 'vod'}, {'get': '*'}, {'post': 'vod'},
{'put': 'vod'}, {'delete': 'vod'}] {'put': 'vod'}, {'delete': 'vod'}]
def get_queryset(self): # def get_queryset(self):
queryset = self.queryset # queryset = self.queryset
if hasattr(self.get_serializer_class(), 'setup_eager_loading'): # if hasattr(self.get_serializer_class(), 'setup_eager_loading'):
queryset = self.get_serializer_class().setup_eager_loading(queryset) # 性能优化 # queryset = self.get_serializer_class().setup_eager_loading(queryset) # 性能优化
if self.request.user.is_superuser: # if self.request.user.is_superuser:
return queryset # return queryset
roles = self.request.user.roles.values_list('name', flat=True) # roles = self.request.user.roles.values_list('name', flat=True)
if '普通管理' in roles: # if '普通管理' in roles:
queryset = queryset.filter(course__create_admin = self.request.user) # queryset = queryset.filter(course__create_admin = self.request.user)
else: # else:
return queryset.none() # return queryset.none()
return queryset # return queryset
class SignatureAPIView(APIView): class SignatureAPIView(APIView):