我的models.py
有用户和商业模型,它们都有这个字段:
location = PointField(geography=True)
我正在通过Geocode服务从用户指定的地址获取Google Maps坐标(在EPSG 4326中)。
然后将其保存在上述字段中(也是EPSG 4326)。现在,我想根据用户位置,在指定半径(例如1公里)内获取所有业务对象:
Business.gis.filter(location__distance_lt=(request.user.location, D(km=1)))
但是它不起作用,它给我这个错误:
ValueError: SpatiaLite不支持在带有大地测量坐标系的几何字段上进行距离查询。距离对象;请改用度数的数字值。
那么,有人知道如何正确解决这个问题吗?提前感谢!