summaryrefslogtreecommitdiff
path: root/django/db/models/fields/json.py
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 /django/db/models/fields/json.py
parentdbb4a86fa7c15fb9cf73a5954356eb88d65ac25f (diff)
downloaddjango-0773837e15bb632afffb6848a58c59a791008fa1.tar.gz
Fixed #32182 -- Fixed crash of JSONField nested key transforms with subquery annotations on PostgreSQL.
Diffstat (limited to 'django/db/models/fields/json.py')
-rw-r--r--django/db/models/fields/json.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/django/db/models/fields/json.py b/django/db/models/fields/json.py
index 5b0272a945..94596556d2 100644
--- a/django/db/models/fields/json.py
+++ b/django/db/models/fields/json.py
@@ -302,7 +302,8 @@ class KeyTransform(Transform):
def as_postgresql(self, compiler, connection):
lhs, params, key_transforms = self.preprocess_lhs(compiler, connection)
if len(key_transforms) > 1:
- return '(%s %s %%s)' % (lhs, self.postgres_nested_operator), params + [key_transforms]
+ sql = '(%s %s %%s)' % (lhs, self.postgres_nested_operator)
+ return sql, tuple(params) + (key_transforms,)
try:
lookup = int(self.key_name)
except ValueError: