aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/mixins.py
diff options
context:
space:
mode:
authorTom Christie2015-01-09 15:30:36 +0000
committerTom Christie2015-01-09 15:30:36 +0000
commit73feaf6299827607eab94ce96b77b73671880626 (patch)
tree15a7b068afda489adc232d4018d645ca0f7f7d7a /rest_framework/mixins.py
parent11efde890556a46f32d486250b1a0b03ce83c17d (diff)
downloaddjango-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.py13
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)