我创建了一个索引字段
channel_indexid = PositiveIntegerField(db_index=True, unique=True)
如果我尝试迁移,则南方要求我输入现有行的默认值。
1. Quit now, and add a default...
2. Specify a one-off value..
但是,channel_indexid
是唯一的,我如何为所有行提供一个默认值?对此有什么好处吗?这真烦人
答案 0 :(得分:1)
由于您要修改模型,因此南方会询问您自新字段以来现有行的默认值,默认情况下为null=False
。您可以通过设置null=True, blank=True
来避免为其设置默认值。
如果您不希望它可以为空并且您仍然希望将此字段添加为不可为空,那么您必须删除该表并使用新字段再次创建它。
South默认情况下为新列提供null
值,但由于默认字段为null=False
,因此South会要求您输入要添加到新字段的值。 South不提供空字符串或0作为字符串或整数字段的默认值,如果字段不可为空,则必须告诉South默认值,如果字段可以为空,则它将提供默认值null
。