Django Rest Framweork - Почему первое смещение пагинации начинается с 0 и как изменить его на 1?

Я пытаюсь создать пользовательский Limit и Offset Paginator, но первая страница начинается с нуля, и я не знаю, почему!

Лимит смещения установлен на 1, но внутри url он начинается с 0, то, что я хочу, это начать смещение с 1, который в моем случае является параметром страницы, так что по ?page=1&size=1 я получил второй элемент внутри данных, если я изменю страницу на 0, то он вернет первый элемент, что немного странно!!!

from rest_framework.pagination import LimitOffsetPagination

min_num = 10
max_num = 50

class ApiPagination(LimitOffsetPagination):

    default_page = 1
    min_limit = min_num
    max_limit = max_num
    min_offset = min_num
    max_offset = max_num
    limit_query_param = 'size'
    offset_query_param = 'page'


    def get_paginated_response(self, data):
        next_url = self.get_next_link()
        previous_url = self.get_previous_link()
        first_url = self.get_first_link()
        last_url = self.get_last_link()

        return Response(
            {
                'Data': data,
                'Links': {
                    'Self': first_url,
                    'Last': last_url,
                    'First': first_url,
                    'Next': next_url,
                    'Prev': previous_url,
                },
                'Meta': {
                    'TotalPages': self.count - self.limit if self.offset not in [0, 1] else 1,
                    'Count': self.count,
                }
            }
        )


    def get_first_link(self): pass


    def get_last_link(self): pass
Вернуться на верх