如何在Django REST API中使用GPS定位?

2024-03-28 15:00:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Django为一个餐馆搜索应用程序制作一个restapi。我需要一份离我所在地X米范围内的餐馆名单。我不知道如何在我的数据库中存储这个列表(我使用的是PostgreSQL)以及如何检索这个列表。在

我在网上搜索了一些选项,发现PostGIS是Postgres的扩展,可以在Django中使用,但我还是想听听您的一些建议。在

谢谢你


Tags: djangorestapi数据库应用程序列表postgresql选项postgres
1条回答
网友
1楼 · 发布于 2024-03-28 15:00:22

是的,您希望在数据库中使用PostGIS扩展,并在应用程序中使用GeoDjango。在

一旦设置和配置好了,在模型中使用PointField。请注意,现在要从django.contrib.gis.db.models.Model扩展。在

from django.contrib.gis.db import models
from django.contrib.gis.geos import Point

class Restaurant(models.Model):
    point = models.PointField()

Restaurant.objects.create(point=Point(lng, lat))

要查询您的餐厅,请使用lat/lng创建一个Point对象(请注意,GEOS采用lng,lat order的lat/lng参数)。然后使用gis D测量进行距离查询。以下是5000米范围内餐厅的查询:

^{pr2}$

相关问题 更多 >