GeoDjango, расстояние между двумя точками

У меня есть следующая модель:

class City(models.Model):
    name = models.CharField(null=False, blank=False, max_length=200)
    coordinates = models.PointField(null=False, blank=False)
    objects = models.GeoManager()

Я пытаюсь найти расстояние между двумя городами выше, используя следующее:

city1=City.objects.get(name='New York')
city2=City.objects.get(name='Boston')
city1.coordinates.distance(city2)

Но получаю следующее:

Traceback (most recent call last):
   File "<console>", line 1, in <module>
   File "/home/rok/apps/django-trunk/django/contrib/gis/geos/geometry.py", line 667, in distance
    raise TypeError('distance() works only on other GEOS Geometries.')
TypeError: distance() works only on other GEOS Geometries.

Глядя на структуры и данные, кажется, что все в порядке:

>>> city1.coordinates.coords
(40.714623,-74.006605)
>>> city2.coordinates.coords
(42.360024, -71.060168)

Что я делаю не так?


person Rok    schedule 17.09.2013    source источник
comment
Я думаю, должно быть city1.coordinates.distance(city2.coordinates) вместо city1.coordinates.distance(city2)   -  person zero323    schedule 17.09.2013
comment
Вы правы, такое очевидное, что я пропустил после того, как полчаса таращился на код... спасибо!   -  person Rok    schedule 17.09.2013
comment
@zero323 Я не могу запустить GeoDjango. Не могли бы вы взглянуть здесь< /а>?   -  person JJD    schedule 10.09.2015