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

@ -1,4 +1,5 @@
"""Views of Guardian"""
import math
# django imports
# Import IsAuthenticated
@ -154,15 +155,19 @@ class TaskListAPIView(viewsets.ModelViewSet):
def list(self, request, *args, **kwargs):
"""Create guardian profile"""
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 TaskDetailsSerializer 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)
class CreateTaskAPIView(viewsets.ModelViewSet):