serializers.py 1.4 KB

1234567891011121314151617181920212223242526272829
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from apps.tenant.building.serializer import BuildingSerializer
  4. from .models import InspectionOrder
  5. from ...upload.serializers import UploadSerializer
  6. class InspectionOrderSerializer(serializers.ModelSerializer):
  7. status = serializers.CharField(source='get_status_display', read_only=True)
  8. building_text = serializers.SerializerMethodField()
  9. user_name = serializers.CharField(source='user.employee.name', read_only=True)
  10. user_tel = serializers.CharField(source='user.employee.tel', read_only=True)
  11. repair_type = serializers.CharField(source='repair_type.name', read_only=True)
  12. repair_order = serializers.CharField(source='repair_order.no', read_only=True)
  13. turn_repair_user_name = serializers.CharField(source='turn_repair_user.employee.name', read_only=True)
  14. images = serializers.SerializerMethodField()
  15. status_text = serializers.CharField(source='get_status_display', read_only=True)
  16. def get_images(self, obj):
  17. return UploadSerializer(obj.images, many=True).data
  18. def get_building_text(self, obj):
  19. return obj.building.get_full_name()
  20. class Meta:
  21. model = InspectionOrder
  22. fields = (
  23. 'id', 'status', 'building_text', 'no', 'problem', 'create_time', 'turn_repair_time', 'user_name',
  24. 'user_tel', 'repair_type', 'repair_order','status_text', 'turn_repair_user_name', 'images')