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

magic-removal: fixed #1245. For models with a OneToOneField and no ordering specified, the admin change_list now orders by the OneToOneField rather than trying to order by the related object's ordering. Use the ordering and list_select_related options to do otherwise.

git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@2720 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Joseph Kocherhans 2006-04-21 17:04:02 +00:00
parent 9d2992b1c8
commit 0121e4cc94

View File

@ -695,7 +695,10 @@ class ChangeList(object):
except models.FieldDoesNotExist: except models.FieldDoesNotExist:
pass pass
else: else:
if isinstance(f.rel, models.ManyToOneRel): if isinstance(f.rel, models.OneToOneRel):
# For OneToOneFields, don't try to order by the related object's ordering criteria.
pass
elif isinstance(f.rel, models.ManyToOneRel):
rel_ordering = f.rel.to._meta.ordering and f.rel.to._meta.ordering[0] or f.rel.to._meta.pk.column rel_ordering = f.rel.to._meta.ordering and f.rel.to._meta.ordering[0] or f.rel.to._meta.pk.column
lookup_order_field = '%s.%s' % (f.rel.to._meta.db_table, rel_ordering) lookup_order_field = '%s.%s' % (f.rel.to._meta.db_table, rel_ordering)