(self, compiler, connection)
| 357 | |
| 358 | class DistanceLookupFromFunction(DistanceLookupBase): |
| 359 | def as_sql(self, compiler, connection): |
| 360 | spheroid = ( |
| 361 | len(self.rhs_params) == 2 and self.rhs_params[-1] == "spheroid" |
| 362 | ) or None |
| 363 | distance_expr = connection.ops.distance_expr_for_lookup( |
| 364 | self.lhs, self.rhs, spheroid=spheroid |
| 365 | ) |
| 366 | sql, params = compiler.compile(distance_expr.resolve_expression(compiler.query)) |
| 367 | dist_sql, dist_params = self.process_distance(compiler, connection) |
| 368 | return ( |
| 369 | "%(func)s %(op)s %(dist)s" % {"func": sql, "op": self.op, "dist": dist_sql}, |
| 370 | (*params, *dist_params), |
| 371 | ) |
| 372 | |
| 373 | |
| 374 | @BaseSpatialField.register_lookup |
nothing calls this directly
no test coverage detected