1
0
mirror of https://github.com/django/django.git synced 2025-07-04 17:59:13 +00:00

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
This commit is contained in:
Joseph Kocherhans 2007-09-14 22:41:09 +00:00
parent 5ec5814bf9
commit cead4bada9
2 changed files with 12 additions and 4 deletions

View File

@ -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):
"""

View File

@ -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']