summaryrefslogtreecommitdiff
path: root/tests/postgres_tests
diff options
context:
space:
mode:
authorsharonwoo <29156885+sharonwoo@users.noreply.github.com>2024-09-27 09:17:07 +0800
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-01-30 12:48:45 +0000
commitcbb0812683cf3236e4a4003bf7f74b119d3cde0c (patch)
tree0ce9060d94f357f25d79e12cc951a9449490b500 /tests/postgres_tests
parent12b9ef38b3ff7f5b8b24a5f42e8923fdb6db44bb (diff)
Fixed #35235 -- Removed caching of BaseExpression._output_field_or_none.
Diffstat (limited to 'tests/postgres_tests')
-rw-r--r--tests/postgres_tests/test_aggregates.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_aggregates.py b/tests/postgres_tests/test_aggregates.py
index 885512cfca..ddd3b6bbd0 100644
--- a/tests/postgres_tests/test_aggregates.py
+++ b/tests/postgres_tests/test_aggregates.py
@@ -334,6 +334,22 @@ class TestGeneralAggregate(PostgreSQLTestCase):
)
self.assertCountEqual(qs, [[], [5]])
+ def test_array_agg_with_empty_filter_and_default_values(self):
+ for filter_value in ([-1], []):
+ for default_value in ([], Value([])):
+ with self.subTest(filter=filter_value, default=default_value):
+ queryset = AggregateTestModel.objects.annotate(
+ test_array_agg=ArrayAgg(
+ "stattestmodel__int1",
+ filter=Q(pk__in=filter_value),
+ default=default_value,
+ )
+ )
+ self.assertSequenceEqual(
+ queryset.values_list("test_array_agg", flat=True),
+ [[], [], [], []],
+ )
+
def test_bit_and_general(self):
values = AggregateTestModel.objects.filter(integer_field__in=[0, 1]).aggregate(
bitand=BitAnd("integer_field")