django手动将模型字段添加到postgres数据库

时间:2013-12-13 18:48:33

标签: django postgresql django-models postgresql-9.1 ddl

我不能使用south而且我没有pgAdmin但是我需要在模型末尾向模型添加新字段。我需要:

new_field = models.CharField(max_length=200, blank=True, null=True)

我有ssh访问权限,并且已经定义了psql用户,因此我需要语法将该字段添加到模型数据库表中。 ALTER TABLE store_products ADD COLUMN description text;做这项工作吗?如何设置max_length 200,空白和null为真? postgresql 9.1,django 1.6。

1 个答案:

答案 0 :(得分:3)

我将blank=Truenull=True表示应该允许空字符串和NULL值。这些是默认值,您不需要做任何额外的事情。

对于max_length=200,您可以使用varchar(200)代替text

ALTER TABLE store_products ADD COLUMN description varchar(200);

但我通常更喜欢将数据类型textCHECK constraint

结合使用
ALTER TABLE store_products ADD COLUMN description text;
ALTER TABLE store_products ADD CONSTRAINT description_max200
CHECK (length(description) <= 200);