diff options
| author | Joseph Kocherhans <joseph@jkocherhans.com> | 2007-09-14 22:41:09 +0000 |
|---|---|---|
| committer | Joseph Kocherhans <joseph@jkocherhans.com> | 2007-09-14 22:41:09 +0000 |
| commit | cead4bada947f163e928e5f41cedb5e22defb743 (patch) | |
| tree | 35720fc7ef6dc0b561350cc032ec2c1cb1046c31 | |
| parent | 5ec5814bf97844db349b0e418668cc4c3edfbea4 (diff) | |
newforms-admin: Fixed a problem with [6232] where an exception was raised if ModelAdmin didn't specify ordering. Also, fixed #4926.
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@6239 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/contrib/admin/options.py | 3 | ||||
| -rw-r--r-- | tests/regressiontests/admin_ordering/models.py | 13 |
2 files changed, 12 insertions, 4 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index ad10efda9d..72392f4124 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -292,7 +292,8 @@ class ModelAdmin(BaseModelAdmin): Returns a QuerySet of all model instances that can be edited by the admin site. """ - return self.model._default_manager.get_query_set().order_by(*self.ordering) + ordering = self.ordering or () # otherwise we might try to *None, which is bad ;) + return self.model._default_manager.get_query_set().order_by(*ordering) def queryset_add(self, request): """ diff --git a/tests/regressiontests/admin_ordering/models.py b/tests/regressiontests/admin_ordering/models.py index 4938083ac5..601f06bb0a 100644 --- a/tests/regressiontests/admin_ordering/models.py +++ b/tests/regressiontests/admin_ordering/models.py @@ -24,14 +24,21 @@ class. >>> b3 = Band(name='Van Halen', bio='', rank=2) >>> b3.save() +The default ordering should be by name, as specified in the inner Meta class. + +>>> ma = ModelAdmin(Band, None) +>>> [b.name for b in ma.queryset(None)] +[u'Aerosmith', u'Radiohead', u'Van Halen'] + + +Let's use a custom ModelAdmin that changes the ordering, and make sure it +actually changes. + >>> class BandAdmin(ModelAdmin): ... ordering = ('rank',) # default ordering is ('name',) ... >>> ma = BandAdmin(Band, None) ->>> [b.name for b in Band.objects.all()] -[u'Aerosmith', u'Radiohead', u'Van Halen'] - >>> [b.name for b in ma.queryset(None)] [u'Radiohead', u'Van Halen', u'Aerosmith'] |
