Recibí una respuesta al ticket que envié (https://code.djangoproject.com/ticket/22830
). Aparentemente, encontré un problema aparentemente no documentado (o al menos no claramente documentado) que dwithin
consultas tienen con Distance
objetos. Un desarrollador dice esto:
Parece que van a aclarar la documentación para aclarar esto (¡genial!).
Como lo que quiero son 5 km, necesito convertir 5 km en grados. 1 grado es aproximadamente 111,325 km. Por lo tanto, 1 km =1/111,325 grados. Por lo tanto, 5 km es aproximadamente 0,0449 o alrededor de 0,05 grados. Así que solo necesito cambiar mi llamada a esto:
touching_locations = Location.objects.filter(geometry__dwithin=(location.geometry, 0.05))