首页 |  我的博客 |  查看该博主内容分类 | 

django如何手动使用自定义分页进行处理并返回结果?

思路

  1. 分页实例.paginate_queryset(queryset, request)获取分页对象列表page;
  2. serializer(page, many=True)获取序列化后的分页数据;
  3. serializer.data取得分页后的数据;
  4. paginator.get_paginated_response(ser.data)返回分页response。

解决办法

class Xxx(APIView):
	def get(self, request)
		class Ser(serializers.ModelSerializer):
			group_title = serlalizers.CharField(label='小组名',source='title')
			class Meta:
			model = models.Group
			fields =['id', 'group_title']
		queryset = models.Group.objects.order_by('-id')
		
		paginator = MyPageNumberPagination()
		paginated_qs = paginator.paginate_queryset(queryset, request)
		ser = Ser(paginated_qs, many=True)
		print('paginated_qs', paginated_qs)
		
		return paginator.get_paginated_response(ser.data)
posted @ 2023-05-11 15:29  Z哎呀  阅读(98)  评论(0)    收藏  举报