From 96af4f18c8dd6f3104a2f28576947ed94f3880be Mon Sep 17 00:00:00 2001 From: Kiwon Jung Date: Wed, 23 Mar 2022 23:49:06 +0900 Subject: [PATCH] Support paginated list for job commits #4476 (#4482) * Support paginated list for job commits #4476 * Update CHANGELOG.md Co-authored-by: Maria Khrustaleva Co-authored-by: Maria Khrustaleva --- CHANGELOG.md | 1 + cvat/apps/engine/views.py | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa212063..fceccd47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Task annotations importing via chunk uploads () - Advanced filtration and sorting for a list of tasks/projects/cloudstorages () - Project dataset importing via chunk uploads () +- Support paginated list for job commits () ### Changed - Added missing geos dependency into Dockerfile () diff --git a/cvat/apps/engine/views.py b/cvat/apps/engine/views.py index 64ff4f9a..f44a73ac 100644 --- a/cvat/apps/engine/views.py +++ b/cvat/apps/engine/views.py @@ -1176,10 +1176,14 @@ class JobViewSet(viewsets.GenericViewSet, mixins.ListModelMixin, @action(detail=True, methods=['GET'], serializer_class=JobCommitSerializer) def commits(self, request, pk): db_job = self.get_object() - queryset = db_job.commits - serializer = JobCommitSerializer(queryset, - context={'request': request}, many=True) + queryset = db_job.commits.order_by('-id') + + page = self.paginate_queryset(queryset) + if page is not None: + serializer = JobCommitSerializer(page, context={'request': request}, many=True) + return self.get_paginated_response(serializer.data) + serializer = JobCommitSerializer(queryset, context={'request': request}, many=True) return Response(serializer.data) @extend_schema(tags=['issues'])