mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #33898 -- Fixed Window() expression crash with ArrayAgg().
Thanks Kia for the report.
Regression in e06dc4571e.
This commit is contained in:
@@ -8,6 +8,7 @@ from django.db.models import (
|
||||
Q,
|
||||
Subquery,
|
||||
Value,
|
||||
Window,
|
||||
)
|
||||
from django.db.models.fields.json import KeyTextTransform, KeyTransform
|
||||
from django.db.models.functions import Cast, Concat, Substr
|
||||
@@ -669,6 +670,22 @@ class TestGeneralAggregate(PostgreSQLTestCase):
|
||||
inner_qs.values_list("integer_field", flat=True),
|
||||
)
|
||||
|
||||
def test_window(self):
|
||||
self.assertCountEqual(
|
||||
AggregateTestModel.objects.annotate(
|
||||
integers=Window(
|
||||
expression=ArrayAgg("char_field"),
|
||||
partition_by=F("integer_field"),
|
||||
)
|
||||
).values("integers", "char_field"),
|
||||
[
|
||||
{"integers": ["Foo1", "Foo3"], "char_field": "Foo1"},
|
||||
{"integers": ["Foo1", "Foo3"], "char_field": "Foo3"},
|
||||
{"integers": ["Foo2"], "char_field": "Foo2"},
|
||||
{"integers": ["Foo4"], "char_field": "Foo4"},
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
class TestAggregateDistinct(PostgreSQLTestCase):
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user