mirror of
https://github.com/django/django.git
synced 2025-12-03 16:47:26 +00:00
Fixed #15823 - incorrect join condition when combining Q objects
Thanks to dcwatson for the excellent report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16159 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
970ae01620
commit
db5807bdb1
3 changed files with 41 additions and 1 deletions
|
|
@ -457,7 +457,11 @@ class Query(object):
|
|||
# An unused alias.
|
||||
continue
|
||||
promote = (rhs.alias_map[alias][JOIN_TYPE] == self.LOUTER)
|
||||
new_alias = self.join(rhs.rev_join_map[alias],
|
||||
lhs, table, lhs_col, col = rhs.rev_join_map[alias]
|
||||
# If the left side of the join was already relabeled, use the
|
||||
# updated alias.
|
||||
lhs = change_map.get(lhs, lhs)
|
||||
new_alias = self.join((lhs, table, lhs_col, col),
|
||||
(conjunction and not first), used, promote, not conjunction)
|
||||
used.add(new_alias)
|
||||
change_map[alias] = new_alias
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue