我有问题的Django 睡觉框架分页. 我在如下设置中设置了分页-

'DEFAULT_PAGINATION_CLASS':'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 1

下面是我的视点.

class HobbyCategoryViewSet(viewsets.ModelViewSet):    
    serializer_class = HobbyCategorySerializer
    queryset = UserHobbyCategory.objects.all()

我想为此视图设置不同的页面大小.我曾try 设置PAGE_SIZE和PAGINATE_BY类变量,但列表根据设置中定义的PAGE_SIZE进行分页.你知道我哪里错了吗?

推荐答案

我通过创建自定义分页类修复了这个问题.并在课堂上设置所需的页面大小.我在我的视图集中使用了这个类作为PAGINATION_CLASS.

from rest_framework import pagination

class ExamplePagination(pagination.PageNumberPagination):       
       page_size = 2

class HobbyCategoryViewSet(viewsets.ModelViewSet):    
    serializer_class = HobbyCategorySerializer
    queryset = UserHobbyCategory.objects.all()
    pagination_class=ExamplePagination

我不确定是否有更简单的方法.这个对我有用.但是我认为仅仅为了改变页面大小而创建新类是不好的.

编辑-简单解决方案设置如下

pagination.PageNumberPagination.page_size = 100 

在视图集中.

class HobbyCategoryViewSet(viewsets.ModelViewSet):    
    serializer_class = HobbyCategorySerializer
    queryset = UserHobbyCategory.objects.all()
    pagination.PageNumberPagination.page_size = 100 

Django相关问答推荐

为什么当对字段使用自定义序列化器时,Django Rest框架中Inbox字段会消失?

使用FormWizard将信息从视图传递到表单

如何在Django模型mixin字段定义中引用模型名称?

Django:无法分配必须是实例(&Q;X),不想获取对象(&Q;)

如何创建为模型创建信号的Djangodecorator ?

如果字段为空,则 Unique_together 不起作用.怎么约束呢?

我如何获得已循环的每个项目的名称?

如何使用邮箱确认码创建django注册

如何在视图中的 Django 重定向末尾附加字符串?

Django:获取每组最新的N条记录

如何在 django 中修改现有模型实例?

Django REST Framework 图片上传

Django InlineModelAdmin:部分显示内联模型并链接到完整模型

Django,如何从模型表单的 Select 字段中删除空白 Select ?

Django REST 异常

Django查询在哪里

has_object_permission 和 has_permission 有什么区别?

PyCharm 代码判断提示找不到模板文件,如何解决?

Django Debug Toolbar:了解时间面板( time panel)

如何更改 django 模板中布尔值的打印方式?