hberp/hb_server/apps/em/serializers.py

37 lines
1.2 KiB
Python

from rest_framework.serializers import ModelSerializer
from .models import Equipment,Equipmentrecord
from apps.system.serializers import OrganizationSimpleSerializer, UserSimpleSerializer
class EquipmentSerializer(ModelSerializer):
belong_dept_ = OrganizationSimpleSerializer(source='belong_dept', read_only=True)
keeper_ = UserSimpleSerializer(source='keeper', read_only=True)
class Meta:
model = Equipment
fields = '__all__'
@staticmethod
def setup_eager_loading(queryset):
""" Perform necessary eager loading of data. """
queryset = queryset.select_related('belong_dept','keeper')
return queryset
class EquipmentSimpleSerializer(ModelSerializer):
class Meta:
model = Equipment
fields = ['id', 'number', 'name']
class EquipmentrecordSerializer(ModelSerializer):
equipment_ = EquipmentSerializer(source='equipment', read_only=True)
class Meta:
model = Equipmentrecord
fields = '__all__'
@staticmethod
def setup_eager_loading(queryset):
""" Perform necessary eager loading of data. """
queryset = queryset.select_related('equipment')
return queryset