diff options
| author | Stephan Groß | 2012-11-15 11:15:05 +0100 | 
|---|---|---|
| committer | Stephan Groß | 2012-11-15 11:15:05 +0100 | 
| commit | 38e94bb8b4e04249b18b9b57ef2ddcb7cfc4efa4 (patch) | |
| tree | 5fe4e3155b5641ca66818344573d49c04bf9daaf /rest_framework/mixins.py | |
| parent | 5967f15f7f5c87987ab60e4b7dc682b06f3ab511 (diff) | |
| download | django-rest-framework-38e94bb8b4e04249b18b9b57ef2ddcb7cfc4efa4.tar.bz2 | |
added global and per resource on/off switch + updated docs
Diffstat (limited to 'rest_framework/mixins.py')
| -rw-r--r-- | rest_framework/mixins.py | 18 | 
1 files changed, 11 insertions, 7 deletions
| diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py index f725fc9e..d64e7e56 100644 --- a/rest_framework/mixins.py +++ b/rest_framework/mixins.py @@ -7,6 +7,7 @@ which allows mixin classes to be composed in interesting ways.  from django.http import Http404  from rest_framework import status  from rest_framework.response import Response +from rest_framework.settings import api_settings  class CreateModelMixin(object): @@ -32,6 +33,8 @@ class ListModelMixin(object):      Should be mixed in with `MultipleObjectAPIView`.      """      empty_error = u"Empty list and '%(class_name)s.allow_empty' is False." +    allow_page_size_param = api_settings.ALLOW_PAGE_SIZE_PARAM +    page_size_param = 'page_size'      def list(self, request, *args, **kwargs):          self.object_list = self.get_filtered_queryset() @@ -56,13 +59,14 @@ class ListModelMixin(object):          return Response(serializer.data)      def get_paginate_by(self, queryset): -        page_size_param = self.request.QUERY_PARAMS.get('page_size') -        if page_size_param: -            try: -                page_size = int(page_size_param) -                return page_size -            except ValueError: -                pass +        if self.allow_page_size_param: +            page_size_param = self.request.QUERY_PARAMS.get(self.page_size_param) +            if page_size_param: +                try: +                    page_size = int(page_size_param) +                    return page_size +                except ValueError: +                    pass          return super(ListModelMixin, self).get_paginate_by(queryset) | 
