diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/fields/json.py | 8 |
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: |
