cnas/server/apps/laboratory/views.py

31 lines
1.4 KiB
Python

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