from django.shortcuts import render from rest_framework.viewsets import ModelViewSet from .models import DetectOrg,DetectOrgNotice from utils.queryset import get_child_queryset2 from .serializers import DetectOrgSerializer,DetectOrgNoticeSerializer,DetectOrgNoticListSerializer from apps.system.permission_data import RbacFilterSet from apps.system.mixins import CreateUpdateCustomMixin, OptimizationMixin # Create your views here. class DetectOrgViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet): perms_map = {'get': '*', 'post': 'DetectOrg_create', 'put': 'DetectOrg_update', 'delete': 'DetectOrg_delete'} queryset = DetectOrg.objects serializer_class = DetectOrgSerializer search_fields = ['name', 'code'] ordering = ['-create_time'] class DetectOrgNoticeViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet): perms_map = {'get': '*', 'post': 'DetectOrgNotice_create', 'put': 'DetectOrgNotice_update', 'delete': 'DetectOrgNotice_delete'} queryset = DetectOrgNotice.objects serializer_class = DetectOrgNoticeSerializer search_fields = ['name'] ordering = ['-create_time'] def get_serializer_class(self): # 根据请求类型动态变更serializer if self.action == 'list': return DetectOrgNoticListSerializer return DetectOrgNoticeSerializer