私はGeoDjangoを使用しており、PointFieldを使用したDjangoモデルがあります。
class ArchivrItem(models.Model):
...
coordinate = models.PointField(srid=4326)
緯度と経度を使用して新しいArchivrItemを挿入しようとすると、次のエラーが発生します。
ERROR: new row for relation "archivr_archivritem" violates check constraint "enforce_srid_coordinate"
これを実行しようとすると、Djangoを回避し、postgresqlで同じエラーを直接取得できます。
INSERT INTO archivr_archivritem (coordinate) VALUES ('POINT(51.520667 -0.094833)');
私はおそらくSRIDとポイントシステムについて素朴で無知です...私は何が欠けていますか?ありがとう。
更新:制約とは何かを追加する必要があります。テーブルの制約は次のとおりです。
"enforce_dims_coordinate" CHECK (st_ndims(coordinate) = 2)
"enforce_geotype_coordinate" CHECK (geometrytype(coordinate) = 'POINT'::text OR coordinate IS NULL)
"enforce_srid_coordinate" CHECK (st_srid(coordinate) = 4326)