DJango rest-framework pagination без настроек в REST_FRAMEWORK

Я следую помощи по пагинации. В ней параграф выглядит как

Вы также можете установить класс пагинации для отдельного представления с помощью атрибута атрибута pagination_class. Как правило, вы хотите использовать один и тот же стиль пагинации во всем вашем API, хотя вы можете захотеть варьировать отдельные аспекты пагинации, такие как размер страницы по умолчанию или максимальный размер страницы размер страницы по умолчанию или максимальный размер страницы, в зависимости от вида просмотра.

Я установил pagination_class в моем ViewSet, но пока я не установлю REST_FRAMEWORK, он не будет действовать.

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

Когда я устанавливаю, он устанавливает пагинацию для всех видов, у меня 10 видов, но я хочу установить pagination только на один вид.

Можно ли установить пагинацию, не задавая ее в параметре REST_FRAMEWORK?

Вы можете установить Per View Pagination следующим образом

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
Вернуться на верх