【问题标题】:What is the format for a PointField in a django fixture?django 夹具中 PointField 的格式是什么?
【发布时间】:2020-04-19 16:35:29
【问题描述】:

假设我有以下 django 模型:

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

class Location(models.Model):
    name = models.CharField(max_length=200)
    point = models.PointField()

我想从夹具加载PointField。 json夹具的点字段格式是什么?

[
    {
    "model": "myapp.Location",
    "pk": 1,
    "fields": {
        "name": "Location Number 1",
        "point": "???",
    }
  }
]

【问题讨论】:

    标签: json django gis geodjango django-fixtures


    【解决方案1】:

    似乎使用Well-known text (WKT) format

    例如,以下内容与 python manage.py loaddata myfixture.json 一起使用:

    [
        {
        "model": "myapp.Location",
        "pk": 1,
        "fields": {
            "name": "Location Number 1",
            "point": "POINT (30 10)",
        }
      }
    ]
    

    这已成功导入 postgresql 数据库列,类型为 point geometry(Point,4326)

    如果您使用的是其他类型,例如 PolygonField,那么大概格式为:

    POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
    

    【讨论】:

    • 如果我使用 StringLine 会是什么格式?
    • @ErnestoRuiz 我假设LINESTRING (30 10, 10 30, 40 40),请参阅我链接到的维基百科文章。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-13
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    相关资源
    最近更新 更多