Python Django Rest框架-如何限制使用地理位置返回的结果?

Python Django Rest框架-如何限制使用地理位置返回的结果?,python,django,geolocation,django-rest-framework,Python,Django,Geolocation,Django Rest Framework,我有一个存储用户位置的模型: [ { "url": "http://192.168.0.22:8000/status/1/", "id": 1, "owner": 1, "test_info": "", "created_at": "2015-05-02T07:09:16.535689Z", "updated_at": "2015-05-02T07:09:16.535746Z", "geolocation": null, "juke

我有一个存储用户位置的模型:

[
{
    "url": "http://192.168.0.22:8000/status/1/",
    "id": 1,
    "owner": 1,
    "test_info": "",
    "created_at": "2015-05-02T07:09:16.535689Z",
    "updated_at": "2015-05-02T07:09:16.535746Z",
    "geolocation": null,
    "jukebox_mode_enabled": false
},
{
    "url": "http://192.168.0.22:8000/status/2/",
    "id": 2,
    "owner": 2,
    "test_info": "",
    "created_at": "2015-05-02T07:09:24.206959Z",
    "updated_at": "2015-05-02T07:09:24.207042Z",
    "geolocation": null,
    "jukebox_mode_enabled": false
},
我正在尝试实现一个允许用户查询并查看附近其他人的系统,但出于安全原因,我想将结果限制在1公里以内的用户

实现这一目标的最佳方式是什么


另一方面,“状态”与django模型中使用oneToOneField的普通用户模型相关联。

您需要的是按地理位置查询/过滤的功能。看一看


一旦可以在地理范围内运行模型过滤器(),那么只需将其应用到使用django rest框架的APIView中即可。

两件事,您应该使用和for django rest框架

GeoDjango将与您的数据库(可能)进行本地工作,以准确存储和表示地理空间数据。这意味着您不必担心将位置规范化,因为它们是提供给您的,您也不必像手动操作一样


GIS插件提供的功能听起来正是您想要的。可以将米数与要用作中心的点一起传递,它将删除超出该范围的任何结果。这将允许您使用Django REST framework的内置视图和序列化程序,而无需自行处理查询集和应用筛选。

太好了,这正是我所想的-谢谢!