DRF框架修改序列化嵌套里的数据

在序列化时,想想修改嵌套里的数据,比如过滤和排序,在模型类里可以添加ordering来进行排序,但是过滤没找方法实现,使用ListSerializer才能实现

class FilterdListSerializer(serializers.ListSerializer):
   def to_representation(self, data):
        data = data.filter(is_show=1,).order_by('-num')
        return super().to_representation(data)


class Type_Gtx(serializers.ModelSerializer):
    class Meta:
        model = models.GoodsCategory
        fields = ['id', 'name', 'num']
        list_serializer_class = FilterdListSerializer


class GoodsCategorySerializer(serializers.ModelSerializer):
    type_cat = Type_Gtx(read_only=True, many=True)

    class Meta:
        model = models.GoodsType
        fields = ['id', 'name', 'image', 'type_cat']

posted @ 2020-12-25 16:15  smomop  阅读(407)  评论(0)    收藏  举报