summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/views/admin/main.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/django/views/admin/main.py b/django/views/admin/main.py
index f27985062a..e39f25c564 100644
--- a/django/views/admin/main.py
+++ b/django/views/admin/main.py
@@ -130,7 +130,8 @@ def change_list(request, app_label, module_name):
lookup_order_field = order_field
if isinstance(lookup_opts.get_field(order_field).rel, meta.ManyToOne):
f = lookup_opts.get_field(order_field)
- lookup_order_field = '%s.%s' % (f.rel.to.db_table, f.rel.to.ordering[0])
+ rel_ordering = f.rel.to.ordering and f.rel.to.ordering[0] or f.rel.to.pk.column
+ lookup_order_field = '%s.%s' % (f.rel.to.db_table, rel_ordering)
# Use select_related if one of the list_display options is a field with a
# relationship.
for field_name in lookup_opts.admin.list_display: