DRF Pagination


プロジェクトはPageNumberPaginationを使用します.
setting.pyのグローバルページ名を設定します.
# settings.py
REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 100,
}
各ビューでページブラウズを行い、自分の状況に応じて変更することもできます.
esi.views.py
from rest_framework.pagination import PageNumberPagination

class CustomPagination(PageNumberPagination):
    page_size = 2

class IndustryJobViewSet(viewsets.GenericViewSet):
    queryset = IndustryJob.objects.all()
    serializer_class = IndustryJobSerializer
    pagination_class = CustomPagination
ページ名のビューを使用するにはGenericViewSetを使用しているので、既存のビューを個別に処理する必要があります.mixins.ListModelMixinを見るとページネーミング処理がありますこれを見てやればいい
# mixins.ListModelMixin
def list(self, request, *args, **kwargs):
        queryset = self.filter_queryset(self.get_queryset())

        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

        serializer = self.get_serializer(queryset, many=True)
        return Response(serializer.data)
https://www.django-rest-framework.org/api-guide/pagination/#pagination
https://stackoverflow.com/questions/31785966/django-rest-framework-turn-on-pagination-on-a-viewset-like-modelviewset-pagina