serializers.py 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # coding=utf-8
  2. from django.conf import settings
  3. from rest_framework import serializers
  4. from .models import VehicleDriveReserve, VehicleInquiry, UsedVehicleInquiry, UsedVehicleEstimate
  5. class VehicleDriveReserveSerializer(serializers.ModelSerializer):
  6. shop_name = serializers.CharField(source='shop.name', read_only=True)
  7. brand_name = serializers.CharField(source='model.series.brand.name', read_only=True)
  8. series_name = serializers.CharField(source='model.series.name', read_only=True)
  9. model_name = serializers.CharField(source='model.name', read_only=True)
  10. customer_name = serializers.CharField(source='customer.name', read_only=True)
  11. status_text = serializers.CharField(source='get_status_display', read_only=True)
  12. create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
  13. date = serializers.DateField(format='%Y-%m-%d')
  14. img1_url = serializers.SerializerMethodField()
  15. img2_url = serializers.SerializerMethodField()
  16. def get_img1_url(self, obj):
  17. if obj.img1:
  18. return '%s%s' % (settings.MEDIA_URL, obj.img1.picture)
  19. return ''
  20. def get_img2_url(self, obj):
  21. if obj.img2:
  22. return '%s%s' % (settings.MEDIA_URL, obj.img2.picture)
  23. return ''
  24. class Meta:
  25. model = VehicleDriveReserve
  26. fields = '__all__'
  27. class VehicleInquirySerializer(serializers.ModelSerializer):
  28. shop_name = serializers.CharField(source='shop.name', read_only=True)
  29. brand_name = serializers.CharField(source='model.series.brand.name', read_only=True)
  30. series_name = serializers.CharField(source='model.series.name', read_only=True)
  31. model_name = serializers.CharField(source='model.name', read_only=True)
  32. customer_name = serializers.CharField(source='customer.name', read_only=True)
  33. status_text = serializers.CharField(source='get_status_display', read_only=True)
  34. create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
  35. displace_text = serializers.SerializerMethodField()
  36. def get_displace_text(self, obj):
  37. return obj.displace and u'是' or u'否'
  38. class Meta:
  39. model = VehicleInquiry
  40. fields = '__all__'
  41. class UsedVehicleInquirySerializer(serializers.ModelSerializer):
  42. brand_name = serializers.CharField(source='brand.name', read_only=True)
  43. customer_name = serializers.CharField(source='customer.name', read_only=True)
  44. customer_tel = serializers.CharField(source='customer.tel', read_only=True)
  45. status_text = serializers.CharField(source='get_status_display', read_only=True)
  46. gender_text = serializers.CharField(source='get_gender_display', read_only=True)
  47. create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
  48. class Meta:
  49. model = UsedVehicleInquiry
  50. fields = '__all__'
  51. class UsedVehicleEstimateSerializer(serializers.ModelSerializer):
  52. brand_name = serializers.CharField(source='brand.name', read_only=True)
  53. customer_name = serializers.CharField(source='customer.name', read_only=True)
  54. customer_tel = serializers.CharField(source='customer.tel', read_only=True)
  55. status_text = serializers.CharField(source='get_status_display', read_only=True)
  56. create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
  57. plate_date = serializers.DateField(format='%Y-%m-%d')
  58. class Meta:
  59. model = UsedVehicleEstimate
  60. fields = '__all__'