mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #25524 -- Removed GISOperations.get_distance()'s handle_spheroid param.
This commit is contained in:
		| @@ -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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user