serializers.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from .models import RepairOrder,RepairOrderFinish
  4. from apps.upload.serializers import UploadSerializer
  5. class RepairOrderSerializer(serializers.ModelSerializer):
  6. status_text = serializers.CharField(source='get_status_display', read_only=True)
  7. user_username = serializers.CharField(source='user.username', read_only=True)
  8. repair_type = serializers.CharField(source='repair_type.name', read_only=True)
  9. building_text = serializers.SerializerMethodField()
  10. images = serializers.SerializerMethodField()
  11. def get_images(self, obj):
  12. return UploadSerializer(obj.images, many=True).data
  13. def get_building_text(self, obj):
  14. return obj.building.get_full_name()
  15. class Meta:
  16. model = RepairOrder
  17. fields = (
  18. 'id', 'status','status_text', 'no', 'fault_des', 'name', 'tel', 'create_time', 'building_text',
  19. 'repair_type', 'user', 'user_username', 'images')
  20. class RepairOrderFinishSerializer(serializers.ModelSerializer):
  21. fault_cause_text = serializers.CharField(source='fault_cause.name', read_only=True)
  22. images = serializers.SerializerMethodField()
  23. def get_images(self, obj):
  24. return UploadSerializer(obj.images, many=True).data
  25. class Meta:
  26. model = RepairOrderFinish
  27. fields = (
  28. 'id', 'fault_cause_text','content', 'images')