Fixed #26785 -- Made Oracle return None rather than empty string for empty geometries.
This commit is contained in:
parent
d13881bd34
commit
ea4665066b
|
@ -78,6 +78,7 @@ class BaseSpatialField(Field):
|
|||
of the spatial reference system of the field.
|
||||
"""
|
||||
description = _("The base GIS field.")
|
||||
empty_strings_allowed = False
|
||||
# Geodetic units.
|
||||
geodetic_units = ('decimal degree', 'degree')
|
||||
|
||||
|
|
|
@ -223,12 +223,9 @@ class GISFunctionsTests(TestCase):
|
|||
geom = Point(5, 23, srid=4326)
|
||||
qs = Country.objects.annotate(inter=functions.Intersection('mpoly', geom))
|
||||
for c in qs:
|
||||
if spatialite or mysql:
|
||||
# When the intersection is empty, Spatialite and MySQL return None
|
||||
if spatialite or mysql or oracle:
|
||||
# When the intersection is empty, some databases return None.
|
||||
expected = None
|
||||
elif oracle:
|
||||
# When the intersection is empty, Oracle returns an empty string
|
||||
expected = ''
|
||||
else:
|
||||
expected = c.mpoly.intersection(geom)
|
||||
self.assertEqual(c.inter, expected)
|
||||
|
|
Loading…
Reference in New Issue