1
0
mirror of https://github.com/django/django.git synced 2025-10-24 22:26:08 +00:00

Fixed #34368 -- Made subquery raise NotSupportedError when referencing outer window expression.

Regression in f387d024fc.

Co-authored-by: Jannis Vajen <jvajen@gmail.com>
This commit is contained in:
Simon Charette
2023-02-26 13:43:00 +01:00
committed by Mariusz Felisiak
parent b15f162f25
commit c67ea79aa9
3 changed files with 25 additions and 1 deletions

View File

@@ -857,6 +857,11 @@ class ResolvedOuterRef(F):
def resolve_expression(self, *args, **kwargs):
col = super().resolve_expression(*args, **kwargs)
if col.contains_over_clause:
raise NotSupportedError(
f"Referencing outer query window expression is not supported: "
f"{self.name}."
)
# FIXME: Rename possibly_multivalued to multivalued and fix detection
# for non-multivalued JOINs (e.g. foreign key fields). This should take
# into account only many-to-many and one-to-many relationships.

View File

@@ -676,7 +676,7 @@ class SQLCompiler:
)
)
inner_query_compiler = inner_query.get_compiler(
self.using, elide_empty=self.elide_empty
self.using, connection=self.connection, elide_empty=self.elide_empty
)
inner_sql, inner_params = inner_query_compiler.as_sql(
# The limits must be applied to the outer query to avoid pruning