Django证明了模型字段参数default(https://docs.djangoproject.com/en/dev/ref/models/fields/#default),但据我所知,每次通过django创建新对象时都会调用它。
如果我们使用原始查询插入/创建记录(使用django.db.connection.cursor
),我们将获得异常原因字段' xyz'没有默认值。
如何表示模型中列的数据库级别默认值。像db_index一样。
我希望你们理解我的问题。
答案 0 :(得分:5)
有一个开放的ticket 470可以在SQL模式中包含默认值。
在将此功能添加到Django之前,如果您想在SQL模式中使用默认值,则必须自己手动运行alter table语句或编写迁移来运行它们。
请注意,Django允许将callables作为默认值,因此即使将此功能添加到Django,也不可能在数据库中包含所有默认值。