from django.shortcuts import render from apps.em.models import Equipment, Mpoint from apps.utils.viewsets import CustomModelViewSet from apps.em.serializers import EquipmentSerializer, MpointSerializer from apps.em.filters import EquipFilterSet from rest_framework.exceptions import ParseError # Create your views here. class EquipmentViewSet(CustomModelViewSet): queryset = Equipment.objects.all() serializer_class = EquipmentSerializer select_related_fields = ['create_by', 'belong_dept', 'keeper'] search_fields = ['number', 'name'] filterset_class = EquipFilterSet def filter_queryset(self, queryset): if not self.detail and not self.request.query_params.get('type', None): raise ParseError('请指定设备类型') return super().filter_queryset(queryset) class MpointViewSet(CustomModelViewSet): queryset = Mpoint.objects.all() serializer_class = MpointSerializer select_related_fields = ['create_by'] filterset_fields = ['equipment'] search_fields = ['number', 'code']