From bbeeb45161da251bb7297b60d6155e7b4efdbc9f Mon Sep 17 00:00:00 2001 From: 朱穆穆 Date: Mon, 26 Dec 2022 14:13:44 +0800 Subject: Fixed #34226 -- Fixed QuerySet.select_related() with multiple FilteredRelations to the OneToOneField. --- django/db/models/sql/compiler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'django/db/models/sql/compiler.py') diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index 5423f20f1f..b9722268ed 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -1265,7 +1265,7 @@ class SQLCompiler: ) get_related_klass_infos(klass_info, next_klass_infos) - def local_setter(obj, from_obj): + def local_setter(final_field, obj, from_obj): # Set a reverse fk object when relation is non-empty. if from_obj: final_field.remote_field.set_cached_value(from_obj, obj) @@ -1291,7 +1291,7 @@ class SQLCompiler: "model": model, "field": final_field, "reverse": True, - "local_setter": local_setter, + "local_setter": partial(local_setter, final_field), "remote_setter": partial(remote_setter, name), "from_parent": from_parent, } -- cgit v1.3