From 1ca825e4dc186da2b93292b5c848a3e5445968d7 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Mon, 11 Mar 2019 22:48:54 -0400 Subject: Fixed #30246 -- Reused annotation aliases references in aggregation filters. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks Jan BaryƂa for the detailed report and the reduced test case. --- tests/aggregation/test_filter_argument.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests/aggregation') diff --git a/tests/aggregation/test_filter_argument.py b/tests/aggregation/test_filter_argument.py index 63dee59464..5848fc9a12 100644 --- a/tests/aggregation/test_filter_argument.py +++ b/tests/aggregation/test_filter_argument.py @@ -87,3 +87,11 @@ class FilteredAggregateTests(TestCase): older_friends_count__gte=2, ) self.assertEqual(qs.get(pk__in=qs.values('pk')), self.a1) + + def test_filtered_aggregate_ref_annotation(self): + aggs = Author.objects.annotate( + double_age=F('age') * 2, + ).aggregate( + cnt=Count('pk', filter=Q(double_age__gt=100)), + ) + self.assertEqual(aggs['cnt'], 2) -- cgit v1.3