serializers.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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 apps.images.models import Images
  7. from .models import VhicleDriveReserve, VhicleInquiry
  8. class VhicleDriveReserveSerializer(serializers.ModelSerializer):
  9. shop_name = serializers.CharField(source='shop.name', read_only=True)
  10. brand_name = serializers.CharField(source='model.series.brand.name', read_only=True)
  11. series_name = serializers.CharField(source='model.series.name', read_only=True)
  12. model_name = serializers.CharField(source='model.name', read_only=True)
  13. customer_name = serializers.CharField(source='customer.name', read_only=True)
  14. status_text = serializers.CharField(source='get_status_display', read_only=True)
  15. create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
  16. date = serializers.DateField(format='%Y-%m-%d')
  17. img1_url = serializers.SerializerMethodField()
  18. img2_url = serializers.SerializerMethodField()
  19. def get_img1_url(self, obj):
  20. if obj.img1:
  21. return '%s%s' % (settings.MEDIA_URL, obj.img1.picture)
  22. return ''
  23. def get_img2_url(self, obj):
  24. if obj.img2:
  25. return '%s%s' % (settings.MEDIA_URL, obj.img2.picture)
  26. return ''
  27. class Meta:
  28. model = VhicleDriveReserve
  29. fields = '__all__'
  30. class VhicleInquirySerializer(serializers.ModelSerializer):
  31. shop_name = serializers.CharField(source='shop.name', read_only=True)
  32. brand_name = serializers.CharField(source='model.series.brand.name', read_only=True)
  33. series_name = serializers.CharField(source='model.series.name', read_only=True)
  34. model_name = serializers.CharField(source='model.name', read_only=True)
  35. customer_name = serializers.CharField(source='customer.name', read_only=True)
  36. status_text = serializers.CharField(source='get_status_display', read_only=True)
  37. create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
  38. displace_text = serializers.SerializerMethodField()
  39. def get_displace_text(self, obj):
  40. return obj.displace and u'是' or u'否'
  41. class Meta:
  42. model = VhicleInquiry
  43. fields = '__all__'