From 2b4dd739ccbbc8cf22bda42b3482d6ba3401109a Mon Sep 17 00:00:00 2001 From: Ernesto Chavez Sanchez Date: Sun, 3 May 2015 22:00:05 +0000 Subject: [PATCH] Fixed description for get_paginated_response method in generic-views and example using it with @list_route decorator in viewsets. --- docs/api-guide/generic-views.md | 2 +- docs/api-guide/viewsets.md | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/api-guide/generic-views.md b/docs/api-guide/generic-views.md index 5186665a8..f318680d7 100644 --- a/docs/api-guide/generic-views.md +++ b/docs/api-guide/generic-views.md @@ -193,7 +193,7 @@ You won't typically need to override the following methods, although you might n * `get_serializer_context(self)` - Returns a dictionary containing any extra context that should be supplied to the serializer. Defaults to including `'request'`, `'view'` and `'format'` keys. * `get_serializer(self, instance=None, data=None, files=None, many=False, partial=False, allow_add_remove=False)` - Returns a serializer instance. -* `get_paginated_response(self, page)` - Returns a serializer instance to use with paginated data. +* `get_paginated_response(self, data)` - Returns a paginated style `Response` object. * `paginate_queryset(self, queryset)` - Paginate a queryset if required, either returning a page object, or `None` if pagination is not configured for this view. * `filter_queryset(self, queryset)` - Given a queryset, filter it with whichever filter backends are in use, returning a new queryset. diff --git a/docs/api-guide/viewsets.md b/docs/api-guide/viewsets.md index cd5e21567..0ada0eb5a 100644 --- a/docs/api-guide/viewsets.md +++ b/docs/api-guide/viewsets.md @@ -136,8 +136,13 @@ For example: @list_route() def recent_users(self, request): recent_users = User.objects.all().order('-last_login') + page = self.paginate_queryset(recent_users) - serializer = self.get_paginated_response(page) + if page is not None: + serializer = self.get_serializer(page, many=True) + return self.get_paginated_response(serializer.data) + + serializer = self.get_serializer(recent_users, many=True) return Response(serializer.data) The decorators can additionally take extra arguments that will be set for the routed view only. For example...