From b78d100fa62cd4fbbc70f2bae77c192cb36c1ccd Mon Sep 17 00:00:00 2001 From: Tom Date: Sat, 22 Apr 2017 16:44:51 +0100 Subject: Fixed #27849 -- Added filtering support to aggregates. --- tests/expressions_case/tests.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tests/expressions_case') diff --git a/tests/expressions_case/tests.py b/tests/expressions_case/tests.py index 20d1e801ec..090607e8b8 100644 --- a/tests/expressions_case/tests.py +++ b/tests/expressions_case/tests.py @@ -1253,6 +1253,15 @@ class CaseDocumentationExamples(TestCase): account_type=Client.PLATINUM, registered_on=date.today(), ) + self.assertEqual( + Client.objects.aggregate( + regular=models.Count('pk', filter=Q(account_type=Client.REGULAR)), + gold=models.Count('pk', filter=Q(account_type=Client.GOLD)), + platinum=models.Count('pk', filter=Q(account_type=Client.PLATINUM)), + ), + {'regular': 2, 'gold': 1, 'platinum': 3} + ) + # This was the example before the filter argument was added. self.assertEqual( Client.objects.aggregate( regular=models.Sum(Case( -- cgit v1.3