Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Add gis deconstruct() method (this does not make schema work)

  • Loading branch information...
commit 4fcfc31865240d635c6e13e1f71ed52c0f6bd72c 1 parent 96dd48c
@andrewgodwin andrewgodwin authored
View
13 django/contrib/gis/db/models/fields.py
@@ -105,6 +105,19 @@ def __init__(self, verbose_name=None, srid=4326, spatial_index=True, dim=2,
super(GeometryField, self).__init__(**kwargs)
+ def deconstruct(self):
+ name, path, args, kwargs = super(GeometryField, self).deconstruct()
+ # Always include SRID for less fragility; include others if they're
+ # not the default values.
+ kwargs['srid'] = self.srid
+ if self.dim != 2:
+ kwargs['dim'] = self.dim
+ if self.spatial_index != True:
+ kwargs['spatial_index'] = self.spatial_index
+ if self.geography != False:
+ kwargs['geography'] = self.geography
+ return name, path, args, kwargs
+
# The following functions are used to get the units, their name, and
# the spheroid corresponding to the SRID of the GeometryField.
def _get_srid_info(self, connection):
View
2  django/db/backends/schema.py
@@ -110,7 +110,7 @@ def column_sql(self, model, field, include_default=False):
params = []
# Check for fields that aren't actually columns (e.g. M2M)
if sql is None:
- return None
+ return None, None
# Work out nullability
null = field.null
# If we were told to include a default value, do so
Please sign in to comment.
Something went wrong with that request. Please try again.