Django order_by相关模型的方法

时间:2011-05-20 21:40:39

标签: django django-models django-views

我想为每个单独的查询按“距离”订购“事件”查询集

鉴于以下情况,我该如何解决这个问题?

class Venue(models.Model):
    latitude = models.FloatField(max_length=10)
    longitude = models.FloatField(max_length=10)

    def distance(self, query_coordinates):
        "Calculates distance on a query by query basis"
        venue_coords = self.latitude, self.longitude
        distance_to_venue = distance.distance(query_coordinates, house_coords) # a function which outputs distance in miles
        return distance_to_venue

class Event(models.Model):
    venue = models.ForeignKey(Venue, related_name='shows')

在阅读了一些相关的stackoverflow问题后,我一直在倾注注释文档,但无法弄清楚如何让它适用于我的情况。我怎样才能有效地做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:1)

你不能把它拉下来,django不支持按模型方法排序。

要处理地理空间数据,请尝试使用GeoDjango(http://docs.djangoproject.com/en/dev/ref/contrib/gis/)。