summaryrefslogtreecommitdiff
path: root/django/db/models/sql/query.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/models/sql/query.py')
-rw-r--r--django/db/models/sql/query.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index af9d173f4c..ac100c06e5 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -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.