serializers.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from apps.store.models import Shop, StoreBrand
  4. class ShopSerializer(serializers.ModelSerializer):
  5. img = serializers.SerializerMethodField()
  6. brand_text = serializers.SerializerMethodField()
  7. def get_img(self, obj):
  8. if obj.img:
  9. return {'width': obj.img.width, 'height': obj.img.height, 'url': obj.img.get_path()}
  10. return ''
  11. def get_brand_text(self, obj):
  12. brand_rows = StoreBrand.objects.filter(store=obj)
  13. data = []
  14. for brand_row in brand_rows:
  15. data.append(brand_row.brand.name)
  16. return ','.join(data)
  17. class Meta:
  18. model = Shop
  19. fields = '__all__'
  20. class ShopDetailSerializer(serializers.ModelSerializer):
  21. img = serializers.SerializerMethodField()
  22. def get_img(self, obj):
  23. if obj.img:
  24. return {'width': obj.img.width, 'height': obj.img.height, 'url': obj.img.get_path()}
  25. return ''
  26. class Meta:
  27. model = Shop
  28. fields = '__all__'