diff options
| author | Tom Christie | 2015-01-09 15:30:36 +0000 | 
|---|---|---|
| committer | Tom Christie | 2015-01-09 15:30:36 +0000 | 
| commit | 73feaf6299827607eab94ce96b77b73671880626 (patch) | |
| tree | 15a7b068afda489adc232d4018d645ca0f7f7d7a /rest_framework/mixins.py | |
| parent | 11efde890556a46f32d486250b1a0b03ce83c17d (diff) | |
| download | django-rest-framework-73feaf6299827607eab94ce96b77b73671880626.tar.bz2 | |
First pass at 3.1 pagination API
Diffstat (limited to 'rest_framework/mixins.py')
| -rw-r--r-- | rest_framework/mixins.py | 13 | 
1 files changed, 7 insertions, 6 deletions
| diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py index 2074a107..c34cfcee 100644 --- a/rest_framework/mixins.py +++ b/rest_framework/mixins.py @@ -5,7 +5,6 @@ We don't bind behaviour to http method handlers yet,  which allows mixin classes to be composed in interesting ways.  """  from __future__ import unicode_literals -  from rest_framework import status  from rest_framework.response import Response  from rest_framework.settings import api_settings @@ -37,12 +36,14 @@ class ListModelMixin(object):      List a queryset.      """      def list(self, request, *args, **kwargs): -        instance = self.filter_queryset(self.get_queryset()) -        page = self.paginate_queryset(instance) +        queryset = self.filter_queryset(self.get_queryset()) + +        page = self.paginate_queryset(queryset)          if page is not None: -            serializer = self.get_pagination_serializer(page) -        else: -            serializer = self.get_serializer(instance, many=True) +            serializer = self.get_serializer(page, many=True) +            return self.get_paginated_response(serializer.data) + +        serializer = self.get_serializer(queryset, many=True)          return Response(serializer.data) | 
