Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django和Postgis:如何在Django中创建带有约束enforce_geotype_geom的空间表?_Django_Postgresql_Postgis_Psql - Fatal编程技术网

Django和Postgis:如何在Django中创建带有约束enforce_geotype_geom的空间表?

Django和Postgis:如何在Django中创建带有约束enforce_geotype_geom的空间表?,django,postgresql,postgis,psql,Django,Postgresql,Postgis,Psql,我正在尝试创建这样的空间表() 如何在Django模型中创建这样的表?我知道如何创建字段,但不知道如何添加约束 非常感谢 2.x之前的旧PostGIS模型使用了问题中提到的约束。较新的样式使用类似于几何体(Point,4326)的typmod 旧样式可以使用适当的DDL手动设置,或者使用带有use\u typmod=false的实用程序功能设置 通常建议使用较新的typmod样式,而不是较旧的基于约束的样式 CREATE TABLE landmarks ( id serial NOT NUL

我正在尝试创建这样的空间表()

如何在Django模型中创建这样的表?我知道如何创建字段,但不知道如何添加
约束


非常感谢

2.x之前的旧PostGIS模型使用了问题中提到的约束。较新的样式使用类似于
几何体(Point,4326)
的typmod

旧样式可以使用适当的DDL手动设置,或者使用带有
use\u typmod=false
的实用程序功能设置

通常建议使用较新的typmod样式,而不是较旧的基于约束的样式

CREATE TABLE landmarks
(
  id serial NOT NULL,
  name character varying(50),
  the_geom geometry,
  CONSTRAINT landmarks_pkey PRIMARY KEY (gid),
  CONSTRAINT enforce_dims_the_geom CHECK (st_ndims(the_geom) = 2),
  CONSTRAINT enforce_geotype_geom CHECK (geometrytype(the_geom) = 'POINT'::text OR the_geom IS NULL),
  CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 4326)
);