Replaced some GIS has_X_method skips with supports_X_aggr/has_X_function.
This commit is contained in:
parent
fdb2309604
commit
c04207cd38
|
@ -82,7 +82,7 @@ class BaseSpatialFeatures(object):
|
||||||
'svg', 'sym_difference', 'transform', 'translate', 'union', 'unionagg',
|
'svg', 'sym_difference', 'transform', 'translate', 'union', 'unionagg',
|
||||||
)
|
)
|
||||||
|
|
||||||
# Specifies whether the Collect and Extent aggregates are supported by the database
|
# Is the aggregate supported by the database?
|
||||||
@property
|
@property
|
||||||
def supports_collect_aggr(self):
|
def supports_collect_aggr(self):
|
||||||
return aggregates.Collect not in self.connection.ops.disallowed_aggregates
|
return aggregates.Collect not in self.connection.ops.disallowed_aggregates
|
||||||
|
@ -95,6 +95,10 @@ class BaseSpatialFeatures(object):
|
||||||
def supports_make_line_aggr(self):
|
def supports_make_line_aggr(self):
|
||||||
return aggregates.MakeLine not in self.connection.ops.disallowed_aggregates
|
return aggregates.MakeLine not in self.connection.ops.disallowed_aggregates
|
||||||
|
|
||||||
|
@property
|
||||||
|
def supports_union_aggr(self):
|
||||||
|
return aggregates.Union not in self.connection.ops.disallowed_aggregates
|
||||||
|
|
||||||
def __init__(self, *args):
|
def __init__(self, *args):
|
||||||
super(BaseSpatialFeatures, self).__init__(*args)
|
super(BaseSpatialFeatures, self).__init__(*args)
|
||||||
for method in self.geoqueryset_methods:
|
for method in self.geoqueryset_methods:
|
||||||
|
|
|
@ -312,7 +312,7 @@ class DistanceTest(TestCase):
|
||||||
# instead (we should get the same results b/c accuracy variance won't matter
|
# instead (we should get the same results b/c accuracy variance won't matter
|
||||||
# in this test case).
|
# in this test case).
|
||||||
querysets = [qs1]
|
querysets = [qs1]
|
||||||
if connection.features.has_distance_spheroid_method:
|
if connection.features.has_DistanceSpheroid_function:
|
||||||
gq3 = Q(point__distance_lte=(wollongong.point, d1, 'spheroid'))
|
gq3 = Q(point__distance_lte=(wollongong.point, d1, 'spheroid'))
|
||||||
gq4 = Q(point__distance_gte=(wollongong.point, d2, 'spheroid'))
|
gq4 = Q(point__distance_gte=(wollongong.point, d2, 'spheroid'))
|
||||||
qs2 = AustraliaCity.objects.exclude(name='Wollongong').filter(gq3 | gq4)
|
qs2 = AustraliaCity.objects.exclude(name='Wollongong').filter(gq3 | gq4)
|
||||||
|
|
|
@ -864,7 +864,7 @@ class GeoQuerySetTest(TestCase):
|
||||||
self.assertAlmostEqual(c1[0] + xfac, c2[0], 5)
|
self.assertAlmostEqual(c1[0] + xfac, c2[0], 5)
|
||||||
self.assertAlmostEqual(c1[1] + yfac, c2[1], 5)
|
self.assertAlmostEqual(c1[1] + yfac, c2[1], 5)
|
||||||
|
|
||||||
@skipUnlessDBFeature("has_unionagg_method")
|
@skipUnlessDBFeature('supports_union_aggr')
|
||||||
def test_unionagg(self):
|
def test_unionagg(self):
|
||||||
"""
|
"""
|
||||||
Testing the `Union` aggregate.
|
Testing the `Union` aggregate.
|
||||||
|
|
|
@ -98,7 +98,7 @@ class RelatedGeoModelTest(TestCase):
|
||||||
tol
|
tol
|
||||||
)
|
)
|
||||||
|
|
||||||
@skipUnlessDBFeature("has_unionagg_method")
|
@skipUnlessDBFeature('supports_union_aggr')
|
||||||
def test_related_union_aggregate(self):
|
def test_related_union_aggregate(self):
|
||||||
"Testing the `Union` aggregate on related geographic models."
|
"Testing the `Union` aggregate on related geographic models."
|
||||||
# This combines the Extent and Union aggregates into one query
|
# This combines the Extent and Union aggregates into one query
|
||||||
|
|
Loading…
Reference in New Issue