1

我有以下型号:

from django.contrib.gis.db import models as geomodels

class Shop(models.Model):
    objects = geomodels.GeoManager()
    name = models.CharField(max_length = 64)

class ShopOutlets(models.Model):
    objects = geomodels.GeoManager()
    shop = models.ForeignKey(Shop)
    location  = geomodels.PointField(srid = 4326, blank = True, null = True)

我想做的是按照离给定点最近的商店的顺序找到(不同的)商店。

我试过这个:

Shop.objects.annotate(dist = Min('shopoutlet__location'))

但它实际上并没有给我指定中心点的选项。关于如何做到这一点的任何想法?

提前致谢

4

1 回答 1

1

我想你想得到两点之间的距离。

如果你想要这个,只需执行以下操作:

ShopOutlets.objects.distance(point).order_by('distance')

distance 方法将计算您的对象到给定点之间的距离,并将动态地在您的对象中放置一个距离属性。

于 2012-12-18T23:06:40.920 回答