How to assign to a Django PointField model attribute?
嗨,我有一个Django模型,如下所示:
1 2 | class Address(models.Model): geoCoords = models.PointField(null=True, blank=True,) |
现在,我创建此模型的一个实例:
1 | A = Address() |
如何将A的geoCoord字段的坐标设置为(5.3,6.2)?我找不到以这种方式将点字段分配到何处的任何示例。这是一个愚蠢的简单问题。实际上,我想分配给A.geoCord的坐标来自pygeocoder。它是一个由2个元素组成的元组float。
有关Django PointFields的文档基本上不存在。
在较新版本的Django中,您可以:
1 2 | from django.contrib.gis.geos import Point pnt = Point(1, 1) |
https://docs.djangoproject.com/en/1.11/ref/contrib/gis/geos/
中提供了大量示例
您可以使用:
1 2 | from django.contrib.gis.geos import GEOSGeometry A.geoCoords = GEOSGeometry('POINT(LON LAT)', srid=4326) # |
其中,
您可以在此处查看有关如何绘制不同几何形状的更多信息:https://docs.djangoproject.com/en/dev/ref/contrib/gis/geos/#what-is-geos