mirror of
https://github.com/django/django.git
synced 2025-07-27 23:24:14 +00:00
Fixed #12240 - select_related doesn't work correctly when mixing nullable and non-nullable keys
Thanks to embe for report and Alex for fix. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12719 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
40c022c91e
commit
5e3a2e2f39
2 changed files with 12 additions and 9 deletions
|
@ -530,10 +530,7 @@ class SQLCompiler(object):
|
|||
avoid = avoid_set.copy()
|
||||
dupe_set = orig_dupe_set.copy()
|
||||
table = f.rel.to._meta.db_table
|
||||
if nullable or f.null:
|
||||
promote = True
|
||||
else:
|
||||
promote = False
|
||||
promote = nullable or f.null
|
||||
if model:
|
||||
int_opts = opts
|
||||
alias = root_alias
|
||||
|
@ -584,10 +581,7 @@ class SQLCompiler(object):
|
|||
next = requested.get(f.name, {})
|
||||
else:
|
||||
next = False
|
||||
if f.null is not None:
|
||||
new_nullable = f.null
|
||||
else:
|
||||
new_nullable = None
|
||||
new_nullable = f.null or promote
|
||||
for dupe_opts, dupe_col in dupe_set:
|
||||
self.query.update_dupe_avoidance(dupe_opts, dupe_col, alias)
|
||||
self.fill_related_selections(f.rel.to._meta, alias, cur_depth + 1,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue