diff options
author | Hannes Ljungberg <hannes.ljungberg@gmail.com> | 2021-11-03 15:34:37 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-11-04 06:31:32 +0100 |
commit | a934d377af2f90329485917fead8723f45d7a56e (patch) | |
tree | fb5fc5b31ea54120a7a5358fee2e0c15ec2e62c8 /tests/aggregation | |
parent | 25157033e979c134d455d46995a6db0838457d98 (diff) | |
download | django-a934d377af2f90329485917fead8723f45d7a56e.tar.gz |
Fixed #33262 -- Fixed crash of conditional aggregation on Exists().
Diffstat (limited to 'tests/aggregation')
-rw-r--r-- | tests/aggregation/test_filter_argument.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/aggregation/test_filter_argument.py b/tests/aggregation/test_filter_argument.py index 650cb8e460..32494cc84f 100644 --- a/tests/aggregation/test_filter_argument.py +++ b/tests/aggregation/test_filter_argument.py @@ -141,3 +141,11 @@ class FilteredAggregateTests(TestCase): ) ) self.assertEqual(aggregate, {'max_rating': 4.5}) + + def test_filtered_aggregate_on_exists(self): + aggregate = Book.objects.values('publisher').aggregate( + max_rating=Max('rating', filter=Exists( + Book.authors.through.objects.filter(book=OuterRef('pk')), + )), + ) + self.assertEqual(aggregate, {'max_rating': 4.5}) |