summaryrefslogtreecommitdiff
path: root/django/db/models/sql/query.py
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2023-04-04 16:58:15 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-04-05 06:06:03 +0200
commit647920b76694526c6be0375ff22e4d6ee43c9580 (patch)
tree0e45be7d81ad842b3e3e48f4e126f3255246ece1 /django/db/models/sql/query.py
parent272dc386c28a4999b179de8ed57bcddea09676a7 (diff)
[4.2.x] Fixed #34458 -- Fixed QuerySet.defer() crash on attribute names.
Thanks Andrew Cordery for the report. Regression in b3db6c8dcb5145f7d45eff517bcd96460475c879. Backport of 87c63bd8df0eb0109df333df1264c6a96707d6a4 from main
Diffstat (limited to 'django/db/models/sql/query.py')
-rw-r--r--django/db/models/sql/query.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index fa9cc3b4e5..bb359ae6e8 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -702,7 +702,8 @@ class Query(BaseExpression):
# by recursively caling this function.
for field in opts.concrete_fields:
field_mask = mask.pop(field.name, None)
- if field_mask is None:
+ field_att_mask = mask.pop(field.attname, None)
+ if field_mask is None and field_att_mask is None:
select_mask.setdefault(field, {})
elif field_mask:
if not field.is_relation: