【发布时间】:2015-01-22 09:18:08
【问题描述】:
我需要快速修复 django 中的简单空间搜索。 我现在的主要问题是浮点数不能是负数,我不知道如何克服这个问题。
这是我的模型的样子
class CustomEvent(models.Model):
lat = models.FloatField(blank=True, null=True)
lng = models.FloatField(blank=True, null=True)
这是我非常糟糕的查询,但我需要让它快速运行
lat = float(request.GET['lat'])
lng = float(request.GET['lng'])
min_lat = lat - 1 # You have to calculate this offsets based on the user location.
max_lat = lat + 1 # Because the distance of one degree varies over the planet.
min_lng = lng - 1
max_lng = lng + 1
custom_events_raw = CustomEvent.objects.filter(lat__gt=min_lat, lat__lt=max_lat, lng__gt=min_lng, lng__lt=max_lng)
我知道我应该使用 geodjango 或其他东西进行空间查询,但这只是需要看起来像它现在可以工作。
【问题讨论】: