文档说我在子类化通用List或ListCreateAPIView时应该免费获得分页,但没有任何分页发生的迹象。
以下是我在设置中的内容......
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS':
'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 25,
'MAX_PAGE_SIZE': 50,
'TEST_REQUEST_DEFAULT_FORMAT': 'json',
'TEST_REQUEST_RENDERER_CLASSES': (...
),
'DEFAULT_FILTER_BACKENDS': (...
)
}
我的观点:
class RequestList(generics.ListCreateAPIView):
# set context for serializers
def get_serializer_context(self, *args, **kwargs):
context = {
'request': self.request,
'view': self,
'format': self.format_kwarg,
'request_type_id': 1}
return context
request_type_code_model_map = {
"S": Request.objects.filter(request_type_id=1, status='open'),
...}
def get(self, request, request_type_code="S", format=None, *args, **kwargs):
queryset = self.request_type_code_model_map.get(
request_type_code, "S")
serializer_class = RequestSerializer
serializer = serializer_class(
instance=queryset, context=self.get_serializer_context(),
many=True)
return Response(serializer.data)
非常感谢任何帮助。我已经尝试创建自定义paginator类,在设置中设置各种配置选项,但我做的任何事情似乎都没有尝试进行分页。分页适用于使用ViewSet的用户和组,但不适用于使用泛型的任何视图。任何想法,关于我所缺少的线索或解决方案都会非常感激。