1
0
mirror of https://github.com/django/django.git synced 2025-10-25 22:56:12 +00:00

Fixed #10028 -- Fixed a problem when ordering by related models.

Some results were inadvertently being excluded if we were ordering across a
nullable relation which itself ordering by a non-nullable relation.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@9916 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick
2009-02-28 02:59:40 +00:00
parent 4ad77254b4
commit 415ffa8df5
2 changed files with 35 additions and 3 deletions

View File

@@ -716,7 +716,7 @@ class BaseQuery(object):
result, params = [], []
if self.group_by is not None:
group_by = self.group_by or []
extra_selects = []
for extra_select, extra_params in self.extra_select.itervalues():
extra_selects.append(extra_select)
@@ -834,8 +834,9 @@ class BaseQuery(object):
# the model.
self.ref_alias(alias)
# Must use left outer joins for nullable fields.
self.promote_alias_chain(joins)
# Must use left outer joins for nullable fields and their relations.
self.promote_alias_chain(joins,
self.alias_map[joins[0]][JOIN_TYPE] == self.LOUTER)
# If we get to this point and the field is a relation to another model,
# append the default ordering for that model.