diff --git a/leaflet/admin.py b/leaflet/admin.py index e358bdcb..6cfcbad1 100644 --- a/leaflet/admin.py +++ b/leaflet/admin.py @@ -2,7 +2,15 @@ from __future__ import unicode_literals from django.contrib.admin import ModelAdmin -from django.contrib.gis.db import models + +try: + from djgeojson.fields import GeoJSONField +except ImportError: + GeoJSONField = type(object) +try: + from django.contrib.gis.db.models import GeometryField +except ImportError: + GeometryField = type(object) from .forms.widgets import LeafletWidget @@ -20,11 +28,7 @@ def formfield_for_dbfield(self, db_field, **kwargs): Overloaded from ModelAdmin to set Leaflet widget in form field init params. """ - try: - from djgeojson.fields import GeoJSONField - except ImportError: - GeoJSONField = type(object) - is_geometry = isinstance(db_field, (models.GeometryField, GeoJSONField)) + is_geometry = isinstance(db_field, (GeometryField, GeoJSONField)) is_editable = is_geometry and (db_field.dim < 3 or self.widget.supports_3d)