Changeset 5092
- Timestamp:
- 04/26/07 08:48:31 (2 years ago)
- Files:
-
- django/trunk/django/contrib/admin/views/main.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/contrib/admin/views/main.py
r5091 r5092 708 708 # value in the related table. 709 709 lookup_order_field = self.order_field 710 order_type = self.order_type == 'desc' and '-' or '' 710 711 try: 711 712 f = self.lookup_opts.get_field(self.order_field, many_to_many=False) … … 718 719 elif isinstance(f.rel, models.ManyToOneRel): 719 720 rel_ordering = f.rel.to._meta.ordering and f.rel.to._meta.ordering[0] or f.rel.to._meta.pk.column 721 if rel_ordering[0] == '-': 722 rel_ordering = rel_ordering[1:] 723 order_type = not order_type and '-' or '' 720 724 lookup_order_field = '%s.%s' % (f.rel.to._meta.db_table, rel_ordering) 725 # Must select related because the lookup field may be in a 726 # table not otherwise referenced yet. 727 # FIXME: Try to remove the need for this in the QuerySet 728 # refactor. 729 qs = qs.select_related() 721 730 722 731 # Set ordering. 723 qs = qs.order_by( (self.order_type == 'desc' and '-' or '') + lookup_order_field)732 qs = qs.order_by('%s%s' % (order_type, lookup_order_field)) 724 733 725 734 # Apply keyword searches.
