Добавление общего количества страниц в ответ Django Rest Framework при использовании пагинации

В документации Django Rest Framework вы можете добавить пагинацию в соответствии с документом по этой ссылке: https://www.django-rest-framework.org/api-guide/pagination/#modifying-the-pagination-style

class StandardResultsSetPagination(PageNumberPagination):
    page_size = 100
    page_size_query_param = 'page_size'
    max_page_size = 1000

и ответ будет выглядеть следующим образом:

HTTP 200 OK
{
    "count": 1023
    "next": "https://api.example.org/accounts/?page=5",
    "previous": "https://api.example.org/accounts/?page=3",
    "results": [
       …
    ]
}

Как добавить "total_pages" в ответ?

HTTP 200 OK
{
    "count": 1023
 ==>"total_pages": 12
    "next": "https://api.example.org/accounts/?page=5",
    "previous": "https://api.example.org/accounts/?page=3",
    "results": [
       …
    ]
}

Я заглянул в код DRF и увидел, что у класса PageNumberPagination есть свойство "num_pages". Но я не уверен, как вызвать его в классе StandardResultsSetPagination.

https://github.com/encode/django-rest-framework/blob/0323d6f8955f987771269506ca5da461e2e7a248/rest_framework/pagination.py

Вернуться на верх