serializers.py 1.3 KB

123456789101112131415161718192021222324252627282930313233
  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. images = serializers.SerializerMethodField()
  10. def get_images(self, obj):
  11. return UploadSerializer(obj.images, many=True).data
  12. class Meta:
  13. model = RepairOrder
  14. fields = (
  15. 'id', 'status','status_text', 'no', 'fault_des', 'name', 'tel', 'create_time', 'device_name', 'device_address',
  16. 'repair_type', 'user', 'user_username', 'images')
  17. class RepairOrderFinishSerializer(serializers.ModelSerializer):
  18. fault_cause_text = serializers.CharField(source='fault_cause.name', read_only=True)
  19. images = serializers.SerializerMethodField()
  20. def get_images(self, obj):
  21. return UploadSerializer(obj.images, many=True).data
  22. class Meta:
  23. model = RepairOrderFinish
  24. fields = (
  25. 'id', 'fault_cause_text','content', 'images')