mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +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' |         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. |         Return the distance parameters given the value and the lookup type. | ||||||
|         On Oracle, geometry columns with a geodetic coordinate system behave |         On Oracle, geometry columns with a geodetic coordinate system behave | ||||||
|   | |||||||
| @@ -285,7 +285,7 @@ class PostGISOperations(BaseSpatialOperations, DatabaseOperations): | |||||||
|         else: |         else: | ||||||
|             return 'geometry(%s,%d)' % (geom_type, f.srid) |             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, |         Retrieve the distance parameters for the given geometry field, | ||||||
|         distance lookup value, and the distance lookup type. |         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. |             # Assuming the distance is in the units of the field. | ||||||
|             dist_param = value |             dist_param = value | ||||||
|  |  | ||||||
|         params = [dist_param] |         return [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 |  | ||||||
|  |  | ||||||
|     def get_geom_placeholder(self, f, value, compiler): |     def get_geom_placeholder(self, f, value, compiler): | ||||||
|         """ |         """ | ||||||
|   | |||||||
| @@ -150,7 +150,7 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations): | |||||||
|         """ |         """ | ||||||
|         return None |         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, |         Return the distance parameters for the given geometry field, | ||||||
|         lookup value, and lookup type. |         lookup value, and lookup type. | ||||||
|   | |||||||
| @@ -436,7 +436,7 @@ class DistanceLookupBase(GISLookup): | |||||||
|         else: |         else: | ||||||
|             params += connection.ops.get_distance( |             params += connection.ops.get_distance( | ||||||
|                 self.lhs.output_field, (dist_param,) + self.rhs[2:], |                 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) |         rhs = connection.ops.get_geom_placeholder(self.lhs.output_field, params[0], compiler) | ||||||
|         return (rhs, params) |         return (rhs, params) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user