Geodjango を使用して、緯度と経度の値で構成されるオブジェクトを使用distance_lte
してフィルタリングしたいと考えています。Point
モデルをセットアップする方法は次のとおりです。
class Point(models.Model):
latitude = models.FloatField()
longitude = models.FloatField()
objects = models.GeoManager()
class Thing(models.Model):
point = models.ForeignKey(Point)
objects = models.GeoManager()
私はこのようにフィルタリングしようとしましたが、うまくいきませんでした:
>>> from myapp.models import Thing, Point
>>> from django.contrib.gis.measure import D
>>> pnt = Point(37.7725205498, -122.408472587)
>>> z = Thing.objects.filter(point__distance_lte=(pnt,D(km=5)))
TypeError: Related Field has invalid lookup: distance_lte
どうすればこのようなことをすることができますか? :
>>> z = Thing.objects.filter(point__distance_lte=(pnt,D(km=5)))
### or ###
>>> z = Thing.objects.filter(point__(latitude_longitude)__distance_lte=(pnt,D(km=5)))
アイデアをありがとう!