Python 在django中获得距离而不使用geoDjango后端(PostGIS等…)

Python 在django中获得距离而不使用geoDjango后端(PostGIS等…),python,django,gis,geodjango,geos,Python,Django,Gis,Geodjango,Geos,我不想经历安装PostGIS的痛苦,所以我可以使用django.contrib.gis从原点按距离排序位置吗 models.py from django.contrib.gis.geos import Point class Place(models.Model): name = models.CharField(max_length=50) lat = models.FloatField() lng = models.FloatField() def poi

我不想经历安装PostGIS的痛苦,所以我可以使用
django.contrib.gis
从原点按距离排序位置吗

models.py

from django.contrib.gis.geos import Point

class Place(models.Model):
    name = models.CharField(max_length=50)
    lat = models.FloatField()
    lng = models.FloatField()

    def point(self):
        return Point(self.lat,self.lng)
views.py

origin = Point(lookup_lat,lookup_lng)
places = Place.objects.filter(point__distance_lte=(origin, D(mi=10))).distance(origin).order_by('distance')[:20]

我尝试过这个方法,但我发现
无法将关键字“point”解析到字段中。
安装程序包
libgeos dev
可以解决某些情况下的此错误。

即使只是一个
Place.objects.filter(point\u distance\u lte=(origin,D(mi=10))
也无法工作:(.我不认为它喜欢
,因为它的功能与问题中的功能相同,最后在lat上使用了
\uuu gt
&
\uu lt
,而在我的db中使用lng(即获取框中的所有位置)