fix(api): добавлен кастомный класс пагинации с поддержкой page_size
This commit is contained in:
parent
36f756988b
commit
25f84cc026
14
backend/api/pagination.py
Normal file
14
backend/api/pagination.py
Normal file
@ -0,0 +1,14 @@
|
||||
"""Кастомные классы пагинации для API."""
|
||||
|
||||
from rest_framework.pagination import PageNumberPagination
|
||||
|
||||
|
||||
class StandardPagination(PageNumberPagination):
|
||||
"""Стандартная пагинация с поддержкой параметра page_size.
|
||||
|
||||
Позволяет клиенту указывать размер страницы через параметр page_size,
|
||||
с ограничением максимального размера страницы.
|
||||
"""
|
||||
page_size = 20
|
||||
page_size_query_param = 'page_size'
|
||||
max_page_size = 10000 # Максимальный размер страницы
|
||||
@ -299,7 +299,7 @@ REST_FRAMEWORK = {
|
||||
],
|
||||
"DEFAULT_THROTTLE_CLASSES": ["rest_framework.throttling.AnonRateThrottle"],
|
||||
"DEFAULT_THROTTLE_RATES": {"anon": "60/min"},
|
||||
"DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination",
|
||||
"DEFAULT_PAGINATION_CLASS": "api.pagination.StandardPagination",
|
||||
"PAGE_SIZE": 20,
|
||||
}
|
||||
|
||||
|
||||
@ -267,7 +267,7 @@ class RequestsView(LoginRequiredMixin, TemplateView):
|
||||
|
||||
# Загружаем список сотрудников для фильтра
|
||||
employees = []
|
||||
ok_emp, data_emp, _ = _api_unpack(api.get("v1/employees/", params={"page_size": 1000}))
|
||||
ok_emp, data_emp, _ = _api_unpack(api.get("v1/employees/", params={"page_size": 10000}))
|
||||
if ok_emp:
|
||||
employees_results, _, _, _ = _parse_page_payload(data_emp)
|
||||
employees = employees_results
|
||||
@ -297,7 +297,7 @@ class RequestsView(LoginRequiredMixin, TemplateView):
|
||||
|
||||
# Загружаем список сотрудников для фильтра
|
||||
employees = []
|
||||
ok_emp, data_emp, _ = _api_unpack(api.get("v1/employees/", params={"page_size": 1000}))
|
||||
ok_emp, data_emp, _ = _api_unpack(api.get("v1/employees/", params={"page_size": 10000}))
|
||||
if ok_emp:
|
||||
employees_results, _, _, _ = _parse_page_payload(data_emp)
|
||||
employees = employees_results
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user