Ik heb een reactie gekregen op het ticket dat ik heb ingediend (https://code.djangoproject.com/ticket/22830
). Blijkbaar vond ik een schijnbaar ongedocumenteerd (of in ieder geval niet duidelijk gedocumenteerd) probleem dat dwithin
zoekopdrachten hebben met Distance
voorwerpen. Een ontwikkelaar zegt dit:
Het lijkt erop dat ze de documentatie gaan verduidelijken om dit duidelijker te maken (geweldig!).
Aangezien ik 5 km wil, moet ik 5 km omrekenen naar graden. 1 graad is ongeveer 111.325 km. Daarom is 1 km =1/111.325 graden. 5km is dus ongeveer 0,0449 of ongeveer 0,05 graden. Dus ik moet mijn oproep in dit veranderen:
touching_locations = Location.objects.filter(geometry__dwithin=(location.geometry, 0.05))