我有一个单一的PointField的地理模型,我期待添加一个注释的每个模型距离给定的点,我可以稍后过滤和做额外的jiggery pokery。如何添加从点作为注释距离作为GeoDjango
有明显的queryset.distance(to_point)
函数,但它实际上并没有注释查询集,它只是为查询集中的每个模型添加一个距离属性,这意味着我不能在稍后将.filter(distance__lte=some_distance)
应用于它。
我也知道过滤的领域,像这样保持距离:
queryset.filter(point__distance_lte=(to_point, D(mi=radius)))
但因为我会想要做多个过滤器(不同的距离范围内获得的型号计数),我不真的不想让DB每次计算与给定点的距离,因为这可能会很昂贵。
任何想法?具体来说,是否有一种方法可以将此添加为常规注释而不是每个模型的插入属性?
刘以达切割器,但是,同时注释点格式应该像下面 点= “POINT(1.022 -42.029)” 实施例:http://postgis.net/docs/ST_GeomFromText.html – naren
Woops,良好的抓。更新。 –
由于django 1.11'ImportError:没有名为aggregates的模块抛出。 –