Loading django/contrib/gis/db/backends/oracle/operations.py +1 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,7 @@ class OracleOperations(DatabaseOperations, BaseSpatialOperations): 'PointField', 'GeometryField', 'LineStringField', 'PolygonField', 'MultiPointField', 'MultiLineStringField', 'MultiPolygonField', 'GeometryCollectionField', 'GeomField', 'GMLField', ) if internal_type in geometry_fields: converters.append(self.convert_textfield_value) Loading django/contrib/gis/db/models/query.py +3 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ from django.db.models.query import QuerySet from django.contrib.gis.db.models import aggregates from django.contrib.gis.db.models.fields import get_srid_info, PointField, LineStringField from django.contrib.gis.db.models.sql import AreaField, DistanceField, GeomField, GeoQuery from django.contrib.gis.db.models.sql import AreaField, DistanceField, GeomField, GeoQuery, GMLField from django.contrib.gis.geometry.backend import Geometry from django.contrib.gis.measure import Area, Distance Loading Loading @@ -175,6 +175,8 @@ class GeoQuerySet(QuerySet): if backend.postgis: s['procedure_fmt'] = '%(version)s,%(geo_col)s,%(precision)s' s['procedure_args'] = {'precision': precision, 'version': version} if backend.oracle: s['select_field'] = GMLField() return self._spatial_attribute('gml', s, **kwargs) Loading django/contrib/gis/db/models/sql/__init__.py +2 −2 Original line number Diff line number Diff line from django.contrib.gis.db.models.sql.conversion import AreaField, DistanceField, GeomField from django.contrib.gis.db.models.sql.conversion import AreaField, DistanceField, GeomField, GMLField from django.contrib.gis.db.models.sql.query import GeoQuery __all__ = [ 'AreaField', 'DistanceField', 'GeomField', 'GeoQuery', 'AreaField', 'DistanceField', 'GeomField', 'GMLField', 'GeoQuery', ] django/contrib/gis/db/models/sql/conversion.py +12 −0 Original line number Diff line number Diff line Loading @@ -51,3 +51,15 @@ class GeomField(BaseField): def get_internal_type(self): return 'GeometryField' class GMLField(BaseField): """ Wrapper for GML to be used by Oracle to ensure Database.LOB conversion. """ def get_internal_type(self): return 'GMLField' def from_db_value(self, value, connection): return value Loading
django/contrib/gis/db/backends/oracle/operations.py +1 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,7 @@ class OracleOperations(DatabaseOperations, BaseSpatialOperations): 'PointField', 'GeometryField', 'LineStringField', 'PolygonField', 'MultiPointField', 'MultiLineStringField', 'MultiPolygonField', 'GeometryCollectionField', 'GeomField', 'GMLField', ) if internal_type in geometry_fields: converters.append(self.convert_textfield_value) Loading
django/contrib/gis/db/models/query.py +3 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ from django.db.models.query import QuerySet from django.contrib.gis.db.models import aggregates from django.contrib.gis.db.models.fields import get_srid_info, PointField, LineStringField from django.contrib.gis.db.models.sql import AreaField, DistanceField, GeomField, GeoQuery from django.contrib.gis.db.models.sql import AreaField, DistanceField, GeomField, GeoQuery, GMLField from django.contrib.gis.geometry.backend import Geometry from django.contrib.gis.measure import Area, Distance Loading Loading @@ -175,6 +175,8 @@ class GeoQuerySet(QuerySet): if backend.postgis: s['procedure_fmt'] = '%(version)s,%(geo_col)s,%(precision)s' s['procedure_args'] = {'precision': precision, 'version': version} if backend.oracle: s['select_field'] = GMLField() return self._spatial_attribute('gml', s, **kwargs) Loading
django/contrib/gis/db/models/sql/__init__.py +2 −2 Original line number Diff line number Diff line from django.contrib.gis.db.models.sql.conversion import AreaField, DistanceField, GeomField from django.contrib.gis.db.models.sql.conversion import AreaField, DistanceField, GeomField, GMLField from django.contrib.gis.db.models.sql.query import GeoQuery __all__ = [ 'AreaField', 'DistanceField', 'GeomField', 'GeoQuery', 'AreaField', 'DistanceField', 'GeomField', 'GMLField', 'GeoQuery', ]
django/contrib/gis/db/models/sql/conversion.py +12 −0 Original line number Diff line number Diff line Loading @@ -51,3 +51,15 @@ class GeomField(BaseField): def get_internal_type(self): return 'GeometryField' class GMLField(BaseField): """ Wrapper for GML to be used by Oracle to ensure Database.LOB conversion. """ def get_internal_type(self): return 'GMLField' def from_db_value(self, value, connection): return value