aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Groß2012-11-15 12:06:43 +0100
committerStephan Groß2012-11-15 12:06:43 +0100
commit3ae203a0184d27318a8a828ce322b151ade0340f (patch)
treee8e927ad52ed0b6a145db9725dc0479bfe006d3b
parentb17a9818008cf3828adb896ae9be134fb63c5693 (diff)
downloaddjango-rest-framework-3ae203a0184d27318a8a828ce322b151ade0340f.tar.bz2
updated script to just use page_size_kwarg
-rw-r--r--docs/api-guide/generic-views.md3
-rw-r--r--docs/api-guide/settings.md8
-rw-r--r--docs/topics/release-notes.md4
-rw-r--r--rest_framework/mixins.py11
-rw-r--r--rest_framework/settings.py2
5 files changed, 14 insertions, 14 deletions
diff --git a/docs/api-guide/generic-views.md b/docs/api-guide/generic-views.md
index 734a91e9..3346c70a 100644
--- a/docs/api-guide/generic-views.md
+++ b/docs/api-guide/generic-views.md
@@ -149,8 +149,7 @@ Should be mixed in with [MultipleObjectAPIView].
**Arguments**:
-* `allow_page_size_param` - Allows you to overwrite the global settings `ALLOW_PAGE_SIZE_PARAM` for a specific view.
-* `page_size_param` - Allows you to customize the page_size parameter. Default is `page_size`.
+* `page_size_kwarg` - Allows you to overwrite the global settings `PAGE_SIZE_KWARG` for a specific view. You can also turn it off for a specific view by setting it to `None`. Default is `page_size`.
## CreateModelMixin
diff --git a/docs/api-guide/settings.md b/docs/api-guide/settings.md
index 2f90369b..8fce9e4e 100644
--- a/docs/api-guide/settings.md
+++ b/docs/api-guide/settings.md
@@ -150,10 +150,14 @@ Default: `'accept'`
Default: `'format'`
-## ALLOW_PAGE_SIZE_PARAM
+## PAGE_SIZE_KWARG
Allows you to globally pass a page size parameter for an individual request.
-Default: `'True'`
+The name of the GET parameter of views which inherit ListModelMixin for requesting data with an individual page size.
+
+If the value if this setting is `None` the passing a page size is turned off by default.
+
+Default: `'page_size'`
[cite]: http://www.python.org/dev/peps/pep-0020/
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index f4a76c89..85c19f5b 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -7,9 +7,7 @@
## Master
* Support for `read_only_fields` on `ModelSerializer` classes.
-* Support for `page_size` GET parameter in views which inherit ListModelMixin.
-* Support for customizing `page_size` param via `page_size_param` attribute.
-* Support for allowing `page_size` param globally (via `ALLOW_PAGE_SIZE_PARAM`) and for individual views (via `allow_page_size_param`)
+* Support for individual page sizes per request via `page_size` GET parameter in views which inherit ListModelMixin.
## 2.1.2
diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py
index d64e7e56..d85e0bfb 100644
--- a/rest_framework/mixins.py
+++ b/rest_framework/mixins.py
@@ -33,8 +33,7 @@ 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'
+ page_size_kwarg = api_settings.PAGE_SIZE_KWARG
def list(self, request, *args, **kwargs):
self.object_list = self.get_filtered_queryset()
@@ -59,11 +58,11 @@ class ListModelMixin(object):
return Response(serializer.data)
def get_paginate_by(self, queryset):
- if self.allow_page_size_param:
- page_size_param = self.request.QUERY_PARAMS.get(self.page_size_param)
- if page_size_param:
+ if self.page_size_kwarg is not None:
+ page_size_kwarg = self.request.QUERY_PARAMS.get(self.page_size_kwarg)
+ if page_size_kwarg:
try:
- page_size = int(page_size_param)
+ page_size = int(page_size_kwarg)
return page_size
except ValueError:
pass
diff --git a/rest_framework/settings.py b/rest_framework/settings.py
index 1daa9dfd..c7b0643f 100644
--- a/rest_framework/settings.py
+++ b/rest_framework/settings.py
@@ -68,7 +68,7 @@ DEFAULTS = {
'FORMAT_SUFFIX_KWARG': 'format',
- 'ALLOW_PAGE_SIZE_PARAM': True
+ 'PAGE_SIZE_KWARG': 'page_size'
}