summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2007-01-16 00:54:58 +0000
committerAdrian Holovaty <adrian@holovaty.com>2007-01-16 00:54:58 +0000
commitf72a100b531f680cf5595412c82827d81f8b2c29 (patch)
treebdc560b6d8a7fb3713cb9b37c39dd06b828f88de
parent93e024365df41bab5036156415eed3c2046240bd (diff)
newforms-admin: Moved list_per_page from AdminOptions to ModelAdmin.
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@4336 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/admin/options.py3
-rw-r--r--django/contrib/admin/views/main.py7
-rw-r--r--django/db/models/base.py2
-rw-r--r--django/db/models/options.py3
4 files changed, 8 insertions, 7 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index d2fd5423a3..ca23c0ef20 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -37,6 +37,7 @@ class ModelAdmin(object):
list_display_links = ()
list_filter = ()
list_select_related = False
+ list_per_page = 100
search_fields = ()
date_hierarchy = None
save_as = False
@@ -276,7 +277,7 @@ class ModelAdmin(object):
raise PermissionDenied
try:
cl = ChangeList(request, self.model, self.list_display, self.list_display_links, self.list_filter,
- self.date_hierarchy, self.search_fields, self.list_select_related)
+ self.date_hierarchy, self.search_fields, self.list_select_related, self.list_per_page)
except IncorrectLookupParameters:
# Wacky lookup parameters were given, so redirect to the main
# changelist page, without parameters, and pass an 'invalid=1'
diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py
index d785952b19..a4e2e0dac2 100644
--- a/django/contrib/admin/views/main.py
+++ b/django/contrib/admin/views/main.py
@@ -292,7 +292,7 @@ def _get_deleted_objects(deleted_objects, perms_needed, user, obj, opts, current
perms_needed.add(related.opts.verbose_name)
class ChangeList(object):
- def __init__(self, request, model, list_display, list_display_links, list_filter, date_hierarchy, search_fields, list_select_related):
+ def __init__(self, request, model, list_display, list_display_links, list_filter, date_hierarchy, search_fields, list_select_related, list_per_page):
self.model = model
self.opts = model._meta
self.lookup_opts = self.opts
@@ -303,6 +303,7 @@ class ChangeList(object):
self.date_hierarchy = date_hierarchy
self.search_fields = search_fields
self.list_select_related = list_select_related
+ self.list_per_page = list_per_page
# Get search parameters from the query string.
try:
@@ -351,7 +352,7 @@ class ChangeList(object):
return '?' + '&amp;'.join(['%s=%s' % (k, v) for k, v in p.items()]).replace(' ', '%20')
def get_results(self, request):
- paginator = ObjectPaginator(self.query_set, self.lookup_opts.admin.list_per_page)
+ paginator = ObjectPaginator(self.query_set, self.list_per_page)
# Get the number of objects, with admin filters applied.
try:
@@ -373,7 +374,7 @@ class ChangeList(object):
full_result_count = self.manager.count()
can_show_all = result_count <= MAX_SHOW_ALL_ALLOWED
- multi_page = result_count > self.lookup_opts.admin.list_per_page
+ multi_page = result_count > self.list_per_page
# Get the list of objects to display on this page.
if (self.show_all and can_show_all) or not multi_page:
diff --git a/django/db/models/base.py b/django/db/models/base.py
index 920d6ab947..ecd3cd4f71 100644
--- a/django/db/models/base.py
+++ b/django/db/models/base.py
@@ -137,7 +137,7 @@ class Model(object):
# of ModelAdmin.
cls._meta.ModelAdmin = type('ModelAdmin', (value, ModelAdmin), {})
# This AdminOptions stuff is legacy and will eventually be removed.
- value = AdminOptions(**dict([(k, v) for k, v in value.__dict__.items() if not k.startswith('_') and k not in ('list_display', 'list_display_links', 'list_filter', 'date_hierarchy', 'save_as', 'search_fields', 'list_select_related')]))
+ value = AdminOptions(**dict([(k, v) for k, v in value.__dict__.items() if not k.startswith('_') and k not in ('list_display', 'list_display_links', 'list_filter', 'date_hierarchy', 'save_as', 'search_fields', 'list_select_related', 'list_per_page')]))
value.contribute_to_class(cls, name)
elif hasattr(value, 'contribute_to_class'):
value.contribute_to_class(cls, name)
diff --git a/django/db/models/options.py b/django/db/models/options.py
index c09fe31821..77d656d36e 100644
--- a/django/db/models/options.py
+++ b/django/db/models/options.py
@@ -201,12 +201,11 @@ class Options(object):
class AdminOptions(object):
def __init__(self, fields=None, js=None,
ordering=None,
- save_on_top=False, manager=None, list_per_page=100):
+ save_on_top=False, manager=None):
self.fields = fields
self.js = js or []
self.ordering = ordering
self.save_on_top = save_on_top
- self.list_per_page = list_per_page
self.manager = manager or Manager()
def get_field_sets(self, opts):