如何为Serializer分页查询集

问题描述 投票:1回答:1

我正在检索qazxsw poi及其qazxsw poi列表。我的问题是有太多的Category属于outfits

outfits

我们可以对它进行分页,以便用户可以首先看到24个category并刷新以查看其余的class CategoryListAPIView(generics.RetrieveAPIView): serializer_class = CategoryDetailSerializer ... class CategoryDetailSerializer(serializers.ModelSerializer): outfits = serializers.SerializerMethodField() ... class Meta: model = Category fields = ( ... 'outfits', ... ) def get_outfits(self, obj): //This is returning 39 items. // Can we paginate this? if obj.outfits is not None: return OutfitListSerializer(obj.outfits, many=True).data return None 吗?

django django-forms django-rest-framework django-serializer django-pagination
1个回答
2
投票

如果你想要简单的条件“前24”和“其余”。您可以通过获取参数来控制它。

outfits

现在你可以使用GET outfits作为前24套服装的类别和GET def get_outfits(self, obj): show_all = self.request.GET.get('show_all') if show_all: outfits = obj.outfits.all() else: outfits = obj.outfits.all()[:24] return OutfitListSerializer(outfits, many=True).data 进行全面展示

© www.soinside.com 2019 - 2024. All rights reserved.