我想使用 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)))
感谢您的任何想法!