add current page and total page in task list API

This commit is contained in:
jain
2023-09-04 12:52:04 +05:30
parent 4f79a690c1
commit 7b75a3233c
3 changed files with 15 additions and 4 deletions

View File

@ -12,6 +12,7 @@ import datetime
import requests
from rest_framework.viewsets import GenericViewSet, mixins
import math
"""Django app import"""
from drf_yasg.utils import swagger_auto_schema
from drf_yasg import openapi
@ -366,15 +367,19 @@ class JuniorTaskListAPIView(viewsets.ModelViewSet):
page=1"""
try:
status_value = self.request.GET.get('status')
current_page = self.request.GET.get('page')
queryset = self.get_queryset()
if status_value and status_value != '0':
queryset = queryset.filter(task_status=status_value)
paginator = self.pagination_class()
total_count = len(queryset)
total_pages = math.ceil(total_count / 10)
# use Pagination
paginated_queryset = paginator.paginate_queryset(queryset, request)
# use TaskDetails juniorSerializer serializer
serializer = self.serializer_class(paginated_queryset, many=True)
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
return custom_response(None, serializer.data, total_pages=total_pages, current_page=current_page,
response_status=status.HTTP_200_OK)
except Exception as e:
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)