summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2019-10-17 14:02:37 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-10-18 07:46:31 +0200
commit3a8af298b95ac689ab7aebfa3ed1c64b82df7b71 (patch)
tree56e2b782988896f4ff8dc3a8f45e179d8da5c46a /django
parentbebf61de11e2ddd06902392d81ccaf005f5e31e4 (diff)
Fixed #30890 -- Added MariaDB support for the relate lookup.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/gis/db/backends/mysql/operations.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/django/contrib/gis/db/backends/mysql/operations.py b/django/contrib/gis/db/backends/mysql/operations.py
index e808609802..44717f5e30 100644
--- a/django/contrib/gis/db/backends/mysql/operations.py
+++ b/django/contrib/gis/db/backends/mysql/operations.py
@@ -29,7 +29,7 @@ class MySQLOperations(BaseSpatialOperations, DatabaseOperations):
@cached_property
def gis_operators(self):
- return {
+ operators = {
'bbcontains': SpatialOperator(func='MBRContains'), # For consistency w/PostGIS API
'bboverlaps': SpatialOperator(func='MBROverlaps'), # ...
'contained': SpatialOperator(func='MBRWithin'), # ...
@@ -44,6 +44,9 @@ class MySQLOperations(BaseSpatialOperations, DatabaseOperations):
'touches': SpatialOperator(func='ST_Touches'),
'within': SpatialOperator(func='ST_Within'),
}
+ if self.connection.mysql_is_mariadb:
+ operators['relate'] = SpatialOperator(func='ST_Relate')
+ return operators
disallowed_aggregates = (
aggregates.Collect, aggregates.Extent, aggregates.Extent3D,