19 lines
		
	
	
		
			788 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			788 B
		
	
	
	
		
			Python
		
	
	
	
from django.shortcuts import render
 | 
						|
from apps.em.models import Equipment
 | 
						|
from apps.utils.viewsets import CustomModelViewSet
 | 
						|
from apps.em.serializers import EquipmentSerializer
 | 
						|
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) |