Files
RasadDam_Backend/apps/core/pagination.py

22 lines
692 B
Python

from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response
class CustomPageNumberPagination(PageNumberPagination):
page_size = 5 # default
page_size_query_param = 'page_size' # set from client
max_page_size = 1000 # maximum items to show
message = None
def get_paginated_response(self, data):
return Response({
'message': self.message, # Custom message
'count': self.page.paginator.count,
'next': self.get_next_link(),
'previous': self.get_previous_link(),
'results': data
})
def set_message(self, message):
self.message = message