serializers.py 729 B

1234567891011121314151617181920212223242526
  1. from rest_framework import serializers
  2. from .models import Category
  3. from goods.serializers import GoodSerializer
  4. class SubCategorySerializer(serializers.ModelSerializer):
  5. class Meta:
  6. model = Category
  7. fields = ['_id','name']
  8. class CategorySerializer(serializers.ModelSerializer):
  9. parent = SubCategorySerializer()
  10. subcategories =SubCategorySerializer(many=True)
  11. goods = serializers.SerializerMethodField()
  12. def get_goods(self, instance):
  13. goods = instance.goods.all().order_by(self.context.get("goods_order_by","_id"))
  14. return GoodSerializer(goods, many=True).data
  15. class Meta:
  16. model = Category
  17. fields = ['_id','name','parent','subcategories','goods']