1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #33073 -- Fixed queryset crash with aggregation and empty/extra queryset annotation.

This commit is contained in:
David Wobrock
2021-08-31 22:37:07 +02:00
committed by Mariusz Felisiak
parent 338fc0e7f1
commit 691486a5cf
2 changed files with 15 additions and 1 deletions

View File

@@ -1603,3 +1603,17 @@ class AggregateTestCase(TestCase):
value=Sum('price', filter=Q(rating__lt=3.0), default=Avg('pages') / 10.0),
)
self.assertAlmostEqual(result['value'], Decimal('61.72'), places=2)
def test_exists_none_with_aggregate(self):
qs = Book.objects.all().annotate(
count=Count('id'),
exists=Exists(Author.objects.none()),
)
self.assertEqual(len(qs), 6)
def test_exists_extra_where_with_aggregate(self):
qs = Book.objects.all().annotate(
count=Count('id'),
exists=Exists(Author.objects.extra(where=['1=0'])),
)
self.assertEqual(len(qs), 6)