Configure JSON:API Pagination
mainDJA pagination follows DRF patterns and returns a meta object with record counts and a links object for navigation. You can set pagination globally in REST_FRAMEWORK['DEFAULT_PAGINATION_CLASS'] or per viewset using the pagination_class attribute.
JsonApiPageNumberPagination
Breaks responses into pages based on a page number.
page_query_param(default:page[number])page_size_query_param(default:page[size]). Set toNoneto disable client-side size selection.page_size(default:REST_FRAMEWORK['PAGE_SIZE'])max_page_size(default:100)
JsonApiLimitOffsetPagination
Breaks responses into pages based on an offset and a limit.
offset_query_param(default:page[offset])limit_query_param(default:page[limit])default_limit(default:REST_FRAMEWORK['PAGE_SIZE'])max_limit(default:100)
from rest_framework_json_api.pagination import JsonApiPageNumberPagination, JsonApiLimitOffsetPagination
class MyPagePagination(JsonApiPageNumberPagination):
page_query_param = 'page_number'
page_size_query_param = 'page_length'
page_size = 3
max_page_size = 1000
class MyLimitPagination(JsonApiLimitOffsetPagination):
offset_query_param = 'offset'
limit_query_param = 'limit'
default_limit = 3
max_limit = None