summaryrefslogtreecommitdiff
path: root/tests/model_fields
diff options
context:
space:
mode:
authorHannes Ljungberg <hannes.ljungberg@gmail.com>2020-11-09 17:54:20 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-11-10 07:09:58 +0100
commit0773837e15bb632afffb6848a58c59a791008fa1 (patch)
treeb2891298b75e864c23de86c20b74ea440f690744 /tests/model_fields
parentdbb4a86fa7c15fb9cf73a5954356eb88d65ac25f (diff)
downloaddjango-0773837e15bb632afffb6848a58c59a791008fa1.tar.gz
Fixed #32182 -- Fixed crash of JSONField nested key transforms with subquery annotations on PostgreSQL.
Diffstat (limited to 'tests/model_fields')
-rw-r--r--tests/model_fields/test_jsonfield.py12
1 files changed, 12 insertions, 0 deletions
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(