Fixed #25524 -- Removed GISOperations.get_distance()'s handle_spheroid param.
This commit is contained in:
parent
d4b00c5c24
commit
0166dd2f8c
|
@ -191,7 +191,7 @@ class OracleOperations(BaseSpatialOperations, DatabaseOperations):
|
|||
"""
|
||||
return 'MDSYS.SDO_GEOMETRY'
|
||||
|
||||
def get_distance(self, f, value, lookup_type, **kwargs):
|
||||
def get_distance(self, f, value, lookup_type):
|
||||
"""
|
||||
Return the distance parameters given the value and the lookup type.
|
||||
On Oracle, geometry columns with a geodetic coordinate system behave
|
||||
|
|
|
@ -285,7 +285,7 @@ class PostGISOperations(BaseSpatialOperations, DatabaseOperations):
|
|||
else:
|
||||
return 'geometry(%s,%d)' % (geom_type, f.srid)
|
||||
|
||||
def get_distance(self, f, dist_val, lookup_type, handle_spheroid=True):
|
||||
def get_distance(self, f, dist_val, lookup_type):
|
||||
"""
|
||||
Retrieve the distance parameters for the given geometry field,
|
||||
distance lookup value, and the distance lookup type.
|
||||
|
@ -316,16 +316,7 @@ class PostGISOperations(BaseSpatialOperations, DatabaseOperations):
|
|||
# Assuming the distance is in the units of the field.
|
||||
dist_param = value
|
||||
|
||||
params = [dist_param]
|
||||
# handle_spheroid *might* be dropped in Django 2.0 as PostGISDistanceOperator
|
||||
# also handles it (#25524).
|
||||
if handle_spheroid and len(dist_val) > 1:
|
||||
option = dist_val[1]
|
||||
if not geography and geodetic and lookup_type != 'dwithin' and option == 'spheroid':
|
||||
# using distance_spheroid requires the spheroid of the field as
|
||||
# a parameter.
|
||||
params.insert(0, f._spheroid)
|
||||
return params
|
||||
return [dist_param]
|
||||
|
||||
def get_geom_placeholder(self, f, value, compiler):
|
||||
"""
|
||||
|
|
|
@ -150,7 +150,7 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations):
|
|||
"""
|
||||
return None
|
||||
|
||||
def get_distance(self, f, value, lookup_type, **kwargs):
|
||||
def get_distance(self, f, value, lookup_type):
|
||||
"""
|
||||
Return the distance parameters for the given geometry field,
|
||||
lookup value, and lookup type.
|
||||
|
|
|
@ -436,7 +436,7 @@ class DistanceLookupBase(GISLookup):
|
|||
else:
|
||||
params += connection.ops.get_distance(
|
||||
self.lhs.output_field, (dist_param,) + self.rhs[2:],
|
||||
self.lookup_name, handle_spheroid=False
|
||||
self.lookup_name,
|
||||
)
|
||||
rhs = connection.ops.get_geom_placeholder(self.lhs.output_field, params[0], compiler)
|
||||
return (rhs, params)
|
||||
|
|
Loading…
Reference in New Issue