diff options
| author | Simon Charette <charette.s@gmail.com> | 2023-02-26 13:43:00 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-02-27 07:18:58 +0100 |
| commit | c67ea79aa981ae82595d89f8018a41fcd842e7c9 (patch) | |
| tree | 40c222b0e86796b2614e55e96a8898ca95500422 /tests/expressions_window | |
| parent | b15f162f252610e3b510ade465549769ab4356cf (diff) | |
Fixed #34368 -- Made subquery raise NotSupportedError when referencing outer window expression.
Regression in f387d024fc75569d2a4a338bfda76cc2f328f627.
Co-authored-by: Jannis Vajen <jvajen@gmail.com>
Diffstat (limited to 'tests/expressions_window')
| -rw-r--r-- | tests/expressions_window/tests.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/expressions_window/tests.py b/tests/expressions_window/tests.py index 027fc9c25c..3a02a36707 100644 --- a/tests/expressions_window/tests.py +++ b/tests/expressions_window/tests.py @@ -1587,6 +1587,25 @@ class WindowUnsupportedTests(TestCase): dense_rank=Window(expression=DenseRank()) ).get() + def test_filter_subquery(self): + qs = Employee.objects.annotate( + department_salary_rank=Window( + Rank(), partition_by="department", order_by="-salary" + ) + ) + msg = ( + "Referencing outer query window expression is not supported: " + "department_salary_rank." + ) + with self.assertRaisesMessage(NotSupportedError, msg): + qs.annotate( + employee_name=Subquery( + Employee.objects.filter( + age=OuterRef("department_salary_rank") + ).values("name")[:1] + ) + ) + class NonQueryWindowTests(SimpleTestCase): def test_window_repr(self): |
