22 lines
747 B
Python
22 lines
747 B
Python
from rest_framework.pagination import PageNumberPagination
|
|
|
|
|
|
from rest_framework.pagination import PageNumberPagination
|
|
from rest_framework.response import Response
|
|
|
|
class CustomPageNumberPagination(PageNumberPagination):
|
|
page_size = 10
|
|
page_query_param = 'page'
|
|
page_size_query_param = 'page_size'
|
|
max_page_size = 999
|
|
|
|
def get_paginated_response(self, data):
|
|
return Response({
|
|
'total': self.page.paginator.count,
|
|
'page': self.page.number,
|
|
'page_size': self.get_page_size(self.request),
|
|
'total_pages': self.page.paginator.num_pages,
|
|
'has_next': self.page.has_next(),
|
|
'has_previous': self.page.has_previous(),
|
|
'results': data
|
|
}) |