DRF Pagination page_size не работает с ModelViewSet
Я пытаюсь использовать ModelViewSet и PageNumberPagination вместе, но не могу заставить работать параметр page_size. Я установил размер в 200, но в списке всегда 200+ элементов.
Вот мой фрагмент кода:
class ExamplePagination(pagination.PageNumberPagination):
       page_size = 200
       max_page_size = 200
class VideosViewSet(viewsets.ModelViewSet):
    parser_classes = (FormParser, JSONParser)
    serializer_class = VideoSerializer
    pagination_class = ExamplePagination
    queryset = Video.objects.all()
    
    @swagger_auto_schema(responses={200: VideoSerializer})
    def list(self, request):
        """
        Request to list all videos
        """
        queryset = Video.objects.all().order_by("-published_at")
        if queryset.exists():
            page = self.paginate_queryset(queryset)
            if page is not None:
                serialized = VideoSerializer(queryset, many=True)
                return self.get_paginated_response(serialized.data)
        return Response(status=http_status.HTTP_404_NOT_FOUND)
Я перепробовал все, начиная с пользовательских миксинов и заканчивая установкой размера страницы в settings.py Вот мой settings.py
REST_FRAMEWORK = {
    "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination",
    'PAGE_SIZE': 200,
}
Вы должны передать в сериализатор page вместо queryset:
    if queryset.exists():
        page = self.paginate_queryset(queryset)
        if page is not None:
            serialized = VideoSerializer(page, many=True)
            return self.get_paginated_response(serialized.data)
    return Response(status=http_status.HTTP_404_NOT_FOUND)
queryset содержит все объекты, в то время как page уже содержит только необходимое количество объектов.