【发布时间】:2016-08-06 18:46:36
【问题描述】:
文档说我应该在子类化通用 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)
任何帮助将不胜感激。我尝试创建一个自定义分页器类,在设置中设置各种配置选项,但我似乎没有做任何分页尝试。分页适用于使用 ViewSets 的用户和组,但不适用于我使用泛型的任何视图。任何想法、关于我缺少什么的线索或解决方案将不胜感激。
【问题讨论】:
标签: django django-rest-framework