gpt4 book ai didi

Django TastyPie 地理距离查找

转载 作者:行者123 更新时间:2023-12-02 08:35:14 27 4
gpt4 key购买 nike

我正在使用 TastyPie 进行地理距离查找。这有点困难,因为 TastyPie 官方不支持它。在 Github (https://gist.github.com/1067176) 上我找到了以下代码示例:

 def apply_sorting(self, objects, options=None):
if options and "longitude" in options and "latitude" in options:
return objects.distance(Point(float(options['latitude']), float(options['longitude']))).order_by('distance')

return super(UserLocationResource, self).apply_sorting(objects, options)

效果很好,但现在我想将距离作为 TastyPie 中的现场结果。你知道该怎么做吗?仅在 fields 属性中包含“距离”是行不通的。

预先感谢您的帮助!

最佳答案

元属性中定义的字段不足以返回附加值。它们需要被定义为资源中的附加字段:

distance = fields.CharField(attribute="distance", default=0, readonly=True)

可以通过在资源内定义deHydrate_distance方法来填充该值

def dehydrate_distance(self, bundle):
# your code here

或者通过向资源元中的查询集添加一些额外的元素,如下所示:

queryset = YourModel.objects.extra(select={'distance': 'SELECT foo FROM bar'})

Tastypie 本身附加了一个名为 resource_uri 的字段,该字段实际上并不存在于查询集中,查看 tastypie 资源的源代码可能对您也有帮助。

关于Django TastyPie 地理距离查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12279221/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com