Coverage for backend/core/pagination.py: 83%
6 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
1from rest_framework import pagination
2from rest_framework.response import Response
4class ViewSetPagination(pagination.PageNumberPagination):
5 """
6 Extends PageNumberPagination to include total pages and page size in the pagination response.
8 The `page_size` attribute sets the default number of items per page.
9 """
11 page_size = 20
13 def get_paginated_response(self, data):
14 return Response({
15 'next': self.get_next_link(),
16 'previous': self.get_previous_link(),
17 'pages': self.page.paginator.num_pages,
18 'count': self.page.paginator.count,
19 'page_size': self.page_size,
20 'results': data
21 })