serializers.py 3.4 KB

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