mirror of
https://github.com/django/django.git
synced 2025-07-24 13:44:32 +00:00
Fixed #28908 -- Allowed ArrayField lookups on ArrayAgg annotations.
This commit is contained in:
parent
58ec55b157
commit
1490611038
2 changed files with 17 additions and 1 deletions
|
@ -46,6 +46,18 @@ class TestGeneralAggregate(PostgreSQLTestCase):
|
|||
values = AggregateTestModel.objects.aggregate(arrayagg=ArrayAgg('boolean_field'))
|
||||
self.assertEqual(values, {'arrayagg': []})
|
||||
|
||||
def test_array_agg_lookups(self):
|
||||
aggr1 = AggregateTestModel.objects.create()
|
||||
aggr2 = AggregateTestModel.objects.create()
|
||||
StatTestModel.objects.create(related_field=aggr1, int1=1, int2=0)
|
||||
StatTestModel.objects.create(related_field=aggr1, int1=2, int2=0)
|
||||
StatTestModel.objects.create(related_field=aggr2, int1=3, int2=0)
|
||||
StatTestModel.objects.create(related_field=aggr2, int1=4, int2=0)
|
||||
qs = StatTestModel.objects.values('related_field').annotate(
|
||||
array=ArrayAgg('int1')
|
||||
).filter(array__overlap=[2]).values_list('array', flat=True)
|
||||
self.assertCountEqual(qs.get(), [1, 2])
|
||||
|
||||
def test_bit_and_general(self):
|
||||
values = AggregateTestModel.objects.filter(
|
||||
integer_field__in=[0, 1]).aggregate(bitand=BitAnd('integer_field'))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue