From 0773837e15bb632afffb6848a58c59a791008fa1 Mon Sep 17 00:00:00 2001 From: Hannes Ljungberg Date: Mon, 9 Nov 2020 17:54:20 +0100 Subject: Fixed #32182 -- Fixed crash of JSONField nested key transforms with subquery annotations on PostgreSQL. --- tests/model_fields/test_jsonfield.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/model_fields') diff --git a/tests/model_fields/test_jsonfield.py b/tests/model_fields/test_jsonfield.py index 1c63d70bf9..e39e3fe757 100644 --- a/tests/model_fields/test_jsonfield.py +++ b/tests/model_fields/test_jsonfield.py @@ -408,6 +408,18 @@ class TestQuerying(TestCase): [self.objs[4]], ) + def test_nested_key_transform_on_subquery(self): + self.assertSequenceEqual( + NullableJSONModel.objects.filter(value__d__0__isnull=False).annotate( + subquery_value=Subquery( + NullableJSONModel.objects.filter(pk=OuterRef('pk')).values('value') + ), + key=KeyTransform('d', 'subquery_value'), + chain=KeyTransform('f', KeyTransform('1', 'key')), + ).filter(chain='g'), + [self.objs[4]], + ) + def test_expression_wrapper_key_transform(self): self.assertSequenceEqual( NullableJSONModel.objects.annotate( -- cgit v1.3