summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2025-06-03 22:34:39 -0400
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-06-04 10:46:49 +0200
commit08187c94ed02c45ad40a32244dedeaa7ac71ca87 (patch)
tree10ace1a29c0c4fd5724998d683ad4f1e598ad0c1 /django
parentc075508b4de8edf9db553b409f8a8ed2f26ecead (diff)
Fixed #36432 -- Fixed a prefetch_related crash on related target subclass queryset.
Regression in 626d77e52a3f247358514bcf51c761283968099c. Refs #36116. Thanks Cornelis Poppema for the excellent report.
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/related_descriptors.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py
index 77ebe798b4..274b8257a3 100644
--- a/django/db/models/fields/related_descriptors.py
+++ b/django/db/models/fields/related_descriptors.py
@@ -169,8 +169,11 @@ class ForwardManyToOneDescriptor:
rel_obj_attr = self.field.get_foreign_related_value
instance_attr = self.field.get_local_related_value
instances_dict = {instance_attr(inst): inst for inst in instances}
- related_fields = self.field.foreign_related_fields
remote_field = self.field.remote_field
+ related_fields = [
+ queryset.query.resolve_ref(field.name).target
+ for field in self.field.foreign_related_fields
+ ]
queryset = queryset.filter(
TupleIn(
ColPairs(