我正在尝试使服务器端表分页,为此,我需要对象的计数。因此,问题在于,由于序列化器('int' object is not iterable
),在尝试获取此值时出现错误,我不知道如何创建返回此值的序列化器。下面是该模型的常用序列化程序,当然它不能正常工作。
views.py
class CountItem(ListAPIView):
queryset = Item.objects.count()
serializer_class = ItemSerializer
Serializer.py
class ItemSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = '__all__'
答案 0 :(得分:2)
默认情况下将对结果进行分页,只需将queryset
的值固定为包含有效的QuerySet
对象,而不是由Item.objects.count()
返回的整数:
class CountItem(ListAPIView):
queryset = Item.objects.all()
serializer_class = ItemSerializer
如果添加了API端点,则默认情况下,API端点应接受"limit"
,"offset"
查询参数,并且响应应包含"count"
,"next"
,"previous"
值此配置为您的Django设置:
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': "25"
}