From 23b659402663dace32a04a0bf15dd13e5bfadc7e Mon Sep 17 00:00:00 2001 From: 사재혁 Date: Sat, 20 Sep 2025 02:15:41 +0900 Subject: Fixed #36584, Refs #36149 -- Allowed subquery values against tuple in lookup via ForeignObject. --- django/db/models/sql/query.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'django/db/models/sql') diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index f332d83946..f0865f5f78 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -1249,12 +1249,11 @@ class Query(BaseExpression): @property def _subquery_fields_len(self): - if self.has_select_fields: - return sum( - len(self.model._meta.pk_fields) if field == "pk" else 1 - for field in self.selected - ) - return len(self.model._meta.pk_fields) + if not self.has_select_fields or not self.select: + return len(self.model._meta.pk_fields) + return len(self.select) + sum( + len(expr.targets) - 1 for expr in self.select if isinstance(expr, ColPairs) + ) def resolve_expression(self, query, *args, **kwargs): clone = self.clone() -- cgit v1.3