如何使用geodjango过滤范围内的点

How to filter points in range with geodjango

如果我有如下所示的最大-最小经度和纬度,我如何获得给定区域中的所有位置。

models.py

class Location(models.Model):
    ......
    point = models.PointField(srid=4326, blank=True, null=True)

现在我如何过滤给定 min_lat、max_lat 和 min_lng、max_lng 的所有位置,如下所示

观看次数

Location.objects.filter(point__in=())

从这个问题得到了帮助GeoDjango within a NE, SW box 终于这样解决了

from django.contrib.gis.geos import Polygon

bbox = (-6.9145,53.5958,-5.6085,53.1023)#min_lat,max_lat,min_lng,max_lng 
geom = Polygon.from_bbox(bbox)

Location.objects.filter(point__within=geom)