serializers.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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
  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__'