python - 从 Point Django 获取坐标

标签 python django postgresql

我使用带有 PointField 的类在数据库中存储坐标。

# models.py
from django.contrib.gis.db import models


class MapPoint(models.Model):
    p = models.PointField()

    def __str__(self):
        return self.p

我使用 AJAX 从模板中获得的坐标。

# views.py

def mapper(request):
    if request.method == "GET":
        if request.is_ajax():
            lat = float(request.GET.get('lat'))
            lng = float(request.GET.get('lng'))
            pnt = Point(lat, lng)
            MapPoint.objects.create(p=pnt)

    return render(request, 'map_in.html')

然后我想在其他模板中显示所有点

# views.py

def mapper_done(request):
    query = MapPoint.objects.all().values()
    out_list = list(query)
    return render(request, 'map_out.html', {'out_list': out_list})

它返回:

{'id': 1, 'p': <Point object at 0x7f42c712b670>}

如何从 Point 获取坐标?我想要这样的东西:

ID: 1, lat: 42.326565 lng: 52.325874

如我所见,我需要遍历 querySet。但是如何呢?

抱歉英语不好:)

最佳答案

>>> pnt = Point(5, 23)
>>> [coord for coord in pnt]
[5.0, 23.0]
>>> pnt.coords
(5.0, 23.0)

添加你的变量 pnt = Point(你的点变量)

关于python - 从 Point Django 获取坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59433774/

相关文章:

python - 手动更改散点图标签

python - Django celery : how to set task to run at specific interval programmatically

python - 我可以使用 SQLAlchemy 使用聚合表达式吗?

linux - Postgres - 移动数据文件夹

python - 将 statsmodels Tukey hsd 保存到 Python pandas 数据框中

python - 生成本地化文件的最简单方法

python - 在 matplotlib 中显示次要刻度标签时隐藏主要刻度标签

javascript - Django 表单上的 TinyMCE

django - 模型字段未显示在 Django Admin 中

postgresql - 在 postgres 中存储多个 URL?