我使用south来迁移我的Django模型。然而,south存在一个令人不爽的bug。它不会在Postgres数据库中设置默认值。例如:
created_at = models.DateTimeField(default = datetime.now)
tag_id = models.PositiveIntegerField(default = 0)
South将这2个字段添加到数据库,但未能设置它们的默认值,需要手动完成。
有没有针对这个错误的补丁程序?
更新
我已经尝试使用 auto_now_add=True
设置默认日期,但仍未设置默认值。在字段中添加 null=True
会在由South生成的迁移脚本中添加一个 db.alter_column
。但是,这只是删除了NOT NULL
约束,没有添加默认值。整数字段同理。
keep_default
在 South 0.8.1 中已被弃用。 - Pankrat