Django DB级别列的默认值

时间:2014-09-07 18:53:39

标签: python mysql django

Django证明了模型字段参数default(https://docs.djangoproject.com/en/dev/ref/models/fields/#default),但据我所知,每次通过django创建新对象时都会调用它。     如果我们使用原始查询插入/创建记录(使用django.db.connection.cursor),我们将获得异常原因字段' xyz'没有默认值。

如何表示模型中列的数据库级别默认值。像db_index一样。

我希望你们理解我的问题。

1 个答案:

答案 0 :(得分:5)

有一个开放的ticket 470可以在SQL模式中包含默认值。

在将此功能添加到Django之前,如果您想在SQL模式中使用默认值,则必须自己手动运行alter table语句或编写迁移来运行它们。

请注意,Django允许将callables作为默认值,因此即使将此功能添加到Django,也不可能在数据库中包含所有默认值。