summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2011-01-08 13:15:44 +0000
committerAndrew Godwin <andrew@aeracode.org>2011-01-08 13:15:44 +0000
commit32a344dfe297a16087765d2f4fb2e1398dc21ac8 (patch)
treefa53d519619d2b36dfbffa6243211bb2ba9d6097 /django
parent19ab52f77fef0edb1e4101e7f8acaa093d3ca16c (diff)
Fixed inconsistency in ListView's pagination (short datasets should also trigger a pagination, but with a single possible page)
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15155 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/views/generic/list.py29
1 files changed, 13 insertions, 16 deletions
diff --git a/django/views/generic/list.py b/django/views/generic/list.py
index cd7f9f6ae8..7b817a5f02 100644
--- a/django/views/generic/list.py
+++ b/django/views/generic/list.py
@@ -36,22 +36,19 @@ class MultipleObjectMixin(object):
Paginate the queryset, if needed.
"""
paginator = self.get_paginator(queryset, page_size, allow_empty_first_page=self.get_allow_empty())
- if paginator.num_pages > 1:
- page = self.kwargs.get('page') or self.request.GET.get('page') or 1
- try:
- page_number = int(page)
- except ValueError:
- if page == 'last':
- page_number = paginator.num_pages
- else:
- raise Http404("Page is not 'last', nor can it be converted to an int.")
- try:
- page = paginator.page(page_number)
- return (paginator, page, page.object_list, True)
- except InvalidPage:
- raise Http404(u'Invalid page (%s)' % page_number)
- else:
- return (None, None, queryset, False)
+ page = self.kwargs.get('page') or self.request.GET.get('page') or 1
+ try:
+ page_number = int(page)
+ except ValueError:
+ if page == 'last':
+ page_number = paginator.num_pages
+ else:
+ raise Http404("Page is not 'last', nor can it be converted to an int.")
+ try:
+ page = paginator.page(page_number)
+ return (paginator, page, page.object_list, True)
+ except InvalidPage:
+ raise Http404(u'Invalid page (%s)' % page_number)
def get_paginate_by(self, queryset):
"""