diff options
| author | Simon Charette <charette.s@gmail.com> | 2023-07-28 07:45:23 -0400 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-07-30 07:51:52 +0200 |
| commit | 739da731645f394ccc56f64a5d7625f7aafd820b (patch) | |
| tree | 34ec1ce89620a8839bc9b2a36b0f116eba250627 /tests/aggregation | |
| parent | a52a2b6678ea2e35d86d97735d936e9b7bf73474 (diff) | |
[4.2.x] Fixed #34748 -- Fixed queryset crash when grouping by a reference in a subquery.
Regression in dd68af62b2b27ece50d434f6a351877212e15c3f.
Thanks Toan Vuong for the report.
Backport of 4087367ba869be9cf305dac39a8887d4aa4041d2 from main
Diffstat (limited to 'tests/aggregation')
| -rw-r--r-- | tests/aggregation/tests.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/aggregation/tests.py b/tests/aggregation/tests.py index db69246952..9f2a7c8841 100644 --- a/tests/aggregation/tests.py +++ b/tests/aggregation/tests.py @@ -2116,6 +2116,16 @@ class AggregateTestCase(TestCase): }, ) + def test_group_by_reference_subquery(self): + author_qs = ( + Author.objects.annotate(publisher_id=F("book__publisher")) + .values("publisher_id") + .annotate(cnt=Count("*")) + .values("publisher_id") + ) + qs = Publisher.objects.filter(pk__in=author_qs) + self.assertCountEqual(qs, [self.p1, self.p2, self.p3, self.p4]) + class AggregateAnnotationPruningTests(TestCase): @classmethod |
