summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2013-04-14 19:08:45 +0200
committerClaude Paroz <claude@2xlibre.net>2013-04-14 19:08:50 +0200
commit9176fa70c1541d29d4d1865770d48b174e5dd968 (patch)
tree350ce1ebd3d4baef6c4a1b855ca47bee9af6df5d
parent6e3b80239e9a066ac2e9d10212196acbc2e6d35c (diff)
[1.5.x] Fixed geojson detection with Spatialite
This is a partial backport of commit eb9430fc4be1. Without this, geojson support is never detected with Spatialite. Refs #20252 and #19028.
-rw-r--r--django/contrib/gis/db/backends/spatialite/operations.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/django/contrib/gis/db/backends/spatialite/operations.py b/django/contrib/gis/db/backends/spatialite/operations.py
index 5eaa77843c..151ecfeadc 100644
--- a/django/contrib/gis/db/backends/spatialite/operations.py
+++ b/django/contrib/gis/db/backends/spatialite/operations.py
@@ -10,6 +10,8 @@ from django.core.exceptions import ImproperlyConfigured
from django.db.backends.sqlite3.base import DatabaseOperations
from django.db.utils import DatabaseError
from django.utils import six
+from django.utils.functional import cached_property
+
class SpatiaLiteOperator(SpatialOperation):
"For SpatiaLite operators (e.g. `&&`, `~`)."
@@ -146,8 +148,10 @@ class SpatiaLiteOperations(DatabaseOperations, BaseSpatialOperations):
except DatabaseError:
# we are using < 2.4.0-RC4
pass
- if version >= (3, 0, 0):
- self.geojson = 'AsGeoJSON'
+
+ @cached_property
+ def geojson(self):
+ return 'AsGeoJSON' if self.spatialite_version_tuple()[1:] >= (3, 0, 0) else None
def check_aggregate_support(self, aggregate):
"""