Mis*_*tyD 5 django django-models geospatial geodjango
我想过滤特定范围内的项目的查询集.这就是我的模型
class modelEmployee(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
location = models.PointField(srid=4326,max_length=40, blank=True,null=True)
objects = GeoManager()
Run Code Online (Sandbox Code Playgroud)
现在这就是我运行过滤器命令的方式.返回90英里特定范围内的物品.
qset = modelEmployee.objects.filter(location__distance_lte=(someLocation, D(mi=90)))
Run Code Online (Sandbox Code Playgroud)
结果返回一个物品,其距离实际为223.732英里,它不应该返回.
这些是两个项目的位置
location A - lat: 47.628641 and long: -117.402997
location B - lat: 47.618337 and long: -122.205341
Run Code Online (Sandbox Code Playgroud)
两者的距离实际为223.732英里.我必须过滤它错了.关于我可能出错的地方的任何建议?
| 归档时间: |
|
| 查看次数: |
561 次 |
| 最近记录: |