mirror of https://github.com/django/django.git
Refs #30854 -- Moved local_setter() outside the loop in SQLCompiler.get_related_selections().
This commit is contained in:
parent
ed112fadc1
commit
e1ae2b0050
|
@ -890,6 +890,12 @@ class SQLCompiler:
|
||||||
select, model._meta, alias, cur_depth + 1,
|
select, model._meta, alias, cur_depth + 1,
|
||||||
next, restricted)
|
next, restricted)
|
||||||
get_related_klass_infos(klass_info, next_klass_infos)
|
get_related_klass_infos(klass_info, next_klass_infos)
|
||||||
|
|
||||||
|
def local_setter(obj, from_obj):
|
||||||
|
# Set a reverse fk object when relation is non-empty.
|
||||||
|
if from_obj:
|
||||||
|
f.remote_field.set_cached_value(from_obj, obj)
|
||||||
|
|
||||||
for name in list(requested):
|
for name in list(requested):
|
||||||
# Filtered relations work only on the topmost level.
|
# Filtered relations work only on the topmost level.
|
||||||
if cur_depth > 1:
|
if cur_depth > 1:
|
||||||
|
@ -901,11 +907,6 @@ class SQLCompiler:
|
||||||
alias = joins[-1]
|
alias = joins[-1]
|
||||||
from_parent = issubclass(model, opts.model) and model is not opts.model
|
from_parent = issubclass(model, opts.model) and model is not opts.model
|
||||||
|
|
||||||
def local_setter(obj, from_obj):
|
|
||||||
# Set a reverse fk object when relation is non-empty.
|
|
||||||
if from_obj:
|
|
||||||
f.remote_field.set_cached_value(from_obj, obj)
|
|
||||||
|
|
||||||
def remote_setter(obj, from_obj):
|
def remote_setter(obj, from_obj):
|
||||||
setattr(from_obj, name, obj)
|
setattr(from_obj, name, obj)
|
||||||
klass_info = {
|
klass_info = {
|
||||||
|
|
Loading…
Reference in New Issue