mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-25 19:14:01 +03:00
Merge pull request #2890 from radyz/fixed-doc-for-get-paginated-response-method
Document correct method usage for get_paginated_response
This commit is contained in:
commit
2e85b4ec3c
|
@ -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_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_serializer(self, instance=None, data=None, files=None, many=False, partial=False, allow_add_remove=False)` - Returns a serializer instance.
|
||||||
* `get_pagination_serializer(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.
|
* `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.
|
* `filter_queryset(self, queryset)` - Given a queryset, filter it with whichever filter backends are in use, returning a new queryset.
|
||||||
|
|
||||||
|
|
|
@ -136,8 +136,13 @@ For example:
|
||||||
@list_route()
|
@list_route()
|
||||||
def recent_users(self, request):
|
def recent_users(self, request):
|
||||||
recent_users = User.objects.all().order('-last_login')
|
recent_users = User.objects.all().order('-last_login')
|
||||||
|
|
||||||
page = self.paginate_queryset(recent_users)
|
page = self.paginate_queryset(recent_users)
|
||||||
serializer = self.get_pagination_serializer(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)
|
return Response(serializer.data)
|
||||||
|
|
||||||
The decorators can additionally take extra arguments that will be set for the routed view only. For example...
|
The decorators can additionally take extra arguments that will be set for the routed view only. For example...
|
||||||
|
|
Loading…
Reference in New Issue
Block a user