diff options
| author | Simon Charette <charette.s@gmail.com> | 2025-06-03 22:34:39 -0400 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2025-06-04 10:48:13 +0200 |
| commit | 3340d4144605bd150906d070ae3e910941fa83c9 (patch) | |
| tree | 69108e27d670e24d1b9a95d9127bdac902cc1fa8 /django | |
| parent | 0c548e62d0166c559ca59845079c2b70730fcfe7 (diff) | |
[5.2.x] Fixed #36432 -- Fixed a prefetch_related crash on related target subclass queryset.
Regression in 626d77e52a3f247358514bcf51c761283968099c.
Refs #36116.
Thanks Cornelis Poppema for the excellent report.
Backport of 08187c94ed02c45ad40a32244dedeaa7ac71ca87 from main.
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/fields/related_descriptors.py | 5 |
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 f0b93e1366..6ef47960dd 100644 --- a/django/db/models/fields/related_descriptors.py +++ b/django/db/models/fields/related_descriptors.py @@ -183,8 +183,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( |
