summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/json.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/django/db/models/fields/json.py b/django/db/models/fields/json.py
index d544caf3e5..e0aa5c622b 100644
--- a/django/db/models/fields/json.py
+++ b/django/db/models/fields/json.py
@@ -424,8 +424,12 @@ class KeyTextTransform(KeyTransform):
output_field = TextField()
def as_mysql(self, compiler, connection):
- if connection.mysql_is_mariadb:
- # MariaDB doesn't support -> and ->> operators (see MDEV-13594).
+ # The ->> operator is not supported on MariaDB (see MDEV-13594) and
+ # only supported against columns on MySQL.
+ if (
+ connection.mysql_is_mariadb
+ or getattr(self.lhs.output_field, "model", None) is None
+ ):
sql, params = super().as_mysql(compiler, connection)
return "JSON_UNQUOTE(%s)" % sql, params
else: