diff options
author | Simon Charette <charette.s@gmail.com> | 2021-05-04 23:42:52 -0400 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-05-05 11:41:35 +0200 |
commit | 136ff592ad8aa8b7fa1e61435e5501cc98ce8573 (patch) | |
tree | 4d6ae1f178a5d9da39bd293fafa9ad153e2d49c7 /tests/aggregation_regress/tests.py | |
parent | 06fd4df41afb5aa1d681b853c3c08d8c688ca3a5 (diff) | |
download | django-136ff592ad8aa8b7fa1e61435e5501cc98ce8573.tar.gz |
Fixed #32690 -- Fixed __in lookup crash when combining with filtered aggregates.
Having lookups group by subquery right-hand-sides is likely unnecessary
in the first place but relatively large amount of work would be needed
to achieve that such as making Lookup instances proper resolvable
expressions.
Regression in 35431298226165986ad07e91f9d3aca721ff38ec.
Thanks James A. Munsch for the report.
Diffstat (limited to 'tests/aggregation_regress/tests.py')
-rw-r--r-- | tests/aggregation_regress/tests.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/aggregation_regress/tests.py b/tests/aggregation_regress/tests.py index 877e7b49a7..5d841b166a 100644 --- a/tests/aggregation_regress/tests.py +++ b/tests/aggregation_regress/tests.py @@ -1525,6 +1525,14 @@ class AggregationTests(TestCase): allow_distinct = True DistinctAggregate('foo', distinct=True) + @skipUnlessDBFeature('supports_subqueries_in_group_by') + def test_having_subquery_select(self): + authors = Author.objects.filter(pk=self.a1.pk) + books = Book.objects.annotate(Count('authors')).filter( + Q(authors__in=authors) | Q(authors__count__gt=2) + ) + self.assertEqual(set(books), {self.b1, self.b4}) + class JoinPromotionTests(TestCase): def test_ticket_21150(self): |