serializers.py 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from django.conf import settings
  4. from apps.collection.models import Collection
  5. from apps.base import Formater
  6. class CollectionSerializer(serializers.ModelSerializer):
  7. name = serializers.CharField(source='commodity.name', read_only=True)
  8. image = serializers.SerializerMethodField()
  9. price = serializers.SerializerMethodField()
  10. vip_price = serializers.SerializerMethodField()
  11. point_price = serializers.CharField(source='commodity.point_price', read_only=True)
  12. price_type = serializers.CharField(source='commodity.type', read_only=True)
  13. class Meta:
  14. model = Collection
  15. fields = '__all__'
  16. def get_image(self, obj):
  17. if obj.commodity and obj.commodity.show_image:
  18. return obj.commodity.show_image.get_path()
  19. return ''
  20. def get_price(self, obj):
  21. return Formater.formatValueShow(obj.commodity.price)
  22. def get_vip_price(self, obj):
  23. return Formater.formatValueShow(obj.commodity.vip_price)