Django的Distance函数没有返回Distance对象

时间:2017-05-09 07:59:15

标签: python django geodjango

这是出现在@Nargiza:3d distance calculations with GeoDjango解决此问题的道路上的意外行为。

关注Distance 功能上的Django文档:

  

接受两个地理字段或表达式,返回它们之间的距离,作为距离对象

Distance 对象,我们可以获得supported units中每一个的距离。

可是:

让模特成为:

class MyModel(models.Model):
    ...
    coordinates = models.PointField()

然后是以下内容:

p1 = MyModel.objects.get(id=1).coordinates
p2 = MyModel.objects.get(id=2).coordinates
d = Distance(p1, p2) # This is the function call, 
                     # so d should be a Distance object
print d.m

应以米为单位打印p1p2之间的距离。

相反,我们收到以下错误:

AttributeError: 'Distance' object has no attribute 'm'

我们最终找到了一种解决方法(d = Distance(m=p1.distance(p2))),但问题仍然存在:

为什么Distance 功能没有返回Distance 对象
这是一个错误,还是我们错过了什么?

提前感谢您的时间。

0 个答案:

没有答案