我的问题与这个问题几乎相同。但它很旧,感觉这应该是一个非常普遍的情况,可能有更好的解决方案。
我的模型大致如下:
我的模型大致如下:
class Person(models.Model):
location = models.PointField(srid=4326)
willing_to_travel = models.IntegerField()
如果我想要找到距离点 p
一定距离(比如10英里)内的所有人,可以按照以下方式进行:
Person.objects.filter(location__distance_lte=(p, D(mi=10)))
我想获取所有在特定位置附近的willing_to_travel
距离内的人员实例。
Person.objects.annotate(distance=Distance('location', p)
中的p
是什么? - Harry Morenodjango.contrib.gis.geos.Point
对象呢? - Harry Moreno