DJango 休息框架分页,无需在 REST_FRAMEWORK 中进行设置

问题描述 投票:0回答:1

我正在关注分页帮助。它有para as

您还可以使用以下方法在单个视图上设置分页类 pagination_class 属性。通常您会想要使用相同的 整个 API 的分页样式,尽管您可能想要改变 分页的各个方面,例如默认或最大页面 大小,以每次观看为基础。

我在 ViewSet 中设置了

pagination_class
,但是在我设置
REST_FRAMEWORK
设置之前,它不会生效。

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
    'PAGE_SIZE': 100
}

当我设置时,它将为所有视图集设置分页,我有 10 个视图,但我只想在一个视图上设置

pagination

我可以在不设置

REST_FRAMEWORK
参数的情况下设置分页吗?

django django-rest-framework pagination
1个回答
0
投票

您可以像这样设置每个视图分页

mypaginations.py

from rest_framework.pagination import LimitOffsetPagination

class MyLimitOffsetPagination(LimitOffsetPagination):
    default_limit = 10
    max_limit = 100

按视图分页(View.py)

from django.shortcuts import render
from .serializers import StudentSerializer
from .models import Student
from rest_framework import viewsets
from .mypaginations import MyLimitOffsetPagination 

class StudentList(viewsets.ModelViewSet):
    queryset = Student.objects.all()
    serializer_class = StudentSerializer
    pagination_class = MyLimitOffsetPagination
© www.soinside.com 2019 - 2024. All rights reserved.