I set up a model with models.PolygonField
in geodjango, using postgres as database. I try to import shp into postgres. The problem is, shp (compiled with QGIS) mixes polygon and multipolygon, hence it always fails to do the export because of the constraint check enforce_geotype
.
Is there a way to clear the constraint, so as to store both multipolygon and polygon type data?
Best Answer
The SQL to drop the constraint:
Or to alter it to allow both Polygons & MultiPolygons:
These SQL statements could be run from a South migration or an initial-data SQL script.
Another option is to make it a
GeometryField
in your Django model definition - this will allow it to store any geometry type.Or, override the
save()
method on your model to force everything to be a MultiPolygon: