我的模型有两个字段(纬度和经度),我想将它们组合成一个点对象。但是,我无法弄清楚如何根据这些值的组合进行过滤:
例如:
>>> from django.contrib.gis.geos import Point
>>> lat = 5
>>> lon = 1
>>> pnt = Point(lat, lon)
>>> buf = pnt.buffer(0.0001)
>>> z = Thing.objects.filter(pnt__intersects=buf)
FieldError: Cannot resolve keyword 'pnt' into field. ## I dont have a model field named pnt
我意识到这不是正确的方法,但我认为它说明了我遇到的问题。如何将两个模型字段 - lat + lon
- 组合成一个Point
对象,然后根据该点进行过滤?
编辑:添加事物模型
class Thing(models.Model):
lat = models.FloatField()
lon = models.FloatField()