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) |