diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/fields/json.py | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/django/db/models/fields/json.py b/django/db/models/fields/json.py index edc5441799..b82c6a82e2 100644 --- a/django/db/models/fields/json.py +++ b/django/db/models/fields/json.py @@ -146,24 +146,7 @@ class DataContains(PostgresOperatorLookup): return 'JSON_CONTAINS(%s, %s)' % (lhs, rhs), params def as_oracle(self, compiler, connection): - if isinstance(self.rhs, KeyTransform): - return HasKey(self.lhs, self.rhs).as_oracle(compiler, connection) - lhs, lhs_params = self.process_lhs(compiler, connection) - params = tuple(lhs_params) - sql = ( - "JSON_QUERY(%s, '$%s' WITH WRAPPER) = " - "JSON_QUERY('%s', '$.value' WITH WRAPPER)" - ) - rhs = json.loads(self.rhs) - if isinstance(rhs, dict): - if not rhs: - return "DBMS_LOB.SUBSTR(%s) LIKE '{%%%%}'" % lhs, params - return ' AND '.join([ - sql % ( - lhs, '.%s' % json.dumps(key), json.dumps({'value': value}), - ) for key, value in rhs.items() - ]), params - return sql % (lhs, '', json.dumps({'value': rhs})), params + raise NotSupportedError('contains lookup is not supported on Oracle.') class ContainedBy(PostgresOperatorLookup): |
