summaryrefslogtreecommitdiff
path: root/django/contrib
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2020-06-30 09:50:15 +0200
committerGitHub <noreply@github.com>2020-06-30 09:50:15 +0200
commit615e32162ff646db3456b90fb4eaaecc33dd3e4e (patch)
treee9798236fefd04963aa90e603b26ae46652524eb /django/contrib
parenta93425a37f4defdb31d4ca96bb3bf6da21f0b5ce (diff)
Fixed #31751 -- Fixed database introspection with cx_Oracle 8.
Diffstat (limited to 'django/contrib')
-rw-r--r--django/contrib/gis/db/backends/oracle/introspection.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/django/contrib/gis/db/backends/oracle/introspection.py b/django/contrib/gis/db/backends/oracle/introspection.py
index f97f0e1446..493fe74b46 100644
--- a/django/contrib/gis/db/backends/oracle/introspection.py
+++ b/django/contrib/gis/db/backends/oracle/introspection.py
@@ -1,14 +1,19 @@
import cx_Oracle
from django.db.backends.oracle.introspection import DatabaseIntrospection
+from django.utils.functional import cached_property
class OracleIntrospection(DatabaseIntrospection):
# Associating any OBJECTVAR instances with GeometryField. This won't work
# right on Oracle objects that aren't MDSYS.SDO_GEOMETRY, but it is the
# only object type supported within Django anyways.
- data_types_reverse = DatabaseIntrospection.data_types_reverse.copy()
- data_types_reverse[cx_Oracle.OBJECT] = 'GeometryField'
+ @cached_property
+ def data_types_reverse(self):
+ return {
+ **super().data_types_reverse,
+ cx_Oracle.OBJECT: 'GeometryField',
+ }
def get_geometry_type(self, table_name, description):
with self.connection.cursor() as cursor: