serializers.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from rest_framework import serializers
  2. from .models import DeviceModel,LocationModel,LocationGroupModel,LocationContainerLink,LocationChangeLog
  3. from container.models import ContainerListModel
  4. class ContainerSimpleSerializer(serializers.ModelSerializer):
  5. class Meta:
  6. model = ContainerListModel
  7. # fields = ['id', 'container_code', 'status'] # 按需选择字段
  8. fields = '__all__' # 或者展示全部字段
  9. class LocationSerializer(serializers.ModelSerializer):
  10. class Meta:
  11. model = LocationModel
  12. fields = '__all__'
  13. class LocationListSerializer(serializers.ModelSerializer):
  14. current_containers = ContainerSimpleSerializer(
  15. many=True,
  16. source='active_containers',
  17. read_only=True
  18. )
  19. class Meta:
  20. model = LocationModel
  21. fields = '__all__'
  22. read_only_fields = ['id']
  23. class LocationPostSerializer(serializers.ModelSerializer):
  24. class Meta:
  25. model = LocationModel
  26. fields = '__all__'
  27. read_only_fields = ['id','row','col','layer', 'max_capacity', 'current_quantity', 'coordinate','access_priority','location_code','location_group','location_type','is_active','shelf_type']
  28. class LocationGroupSerializer(serializers.ModelSerializer):
  29. class Meta:
  30. model = LocationGroupModel
  31. fields = '__all__'
  32. read_only_fields = ['id']
  33. class LocationGroupListSerializer(serializers.ModelSerializer ):
  34. class Meta:
  35. model = LocationGroupModel
  36. fields = '__all__'
  37. read_only_fields = ['id ']
  38. class LocationGroupPostSerializer(serializers.ModelSerializer):
  39. class Meta:
  40. model = LocationGroupModel
  41. fields = '__all__'
  42. read_only_fields = ['id']