2014-08-27 75 views
1

我已經創建了一個索引字段django south - unique = True,但是「爲現有行賦予默認值」?

channel_indexid = PositiveIntegerField(db_index=True, unique=True) 

如果我嘗試遷移,南要求我爲現有行輸入默認值。

1. Quit now, and add a default... 
2. Specify a one-off value.. 

但是,channel_indexid是一個獨特的,我怎麼可以給所有行一個默認值?有沒有這方面的工作。這真的很煩人

回答

1

由於您正在修改模型,南會要求您自現有行以來的默認值,因爲您的新字段默認爲null=False。您可以通過設置null=True, blank=True來避免將其設置爲默認值。

如果您不希望它爲空,並且您仍然希望將此字段添加爲不可爲空,那麼您必須刪除表並使用新字段再次創建它。

南方默認會給出新列null值,但由於默認字段爲null=False,南方會要求您輸入新字段的值。 South不會給出空字符串或0作爲字符串或整數字段的默認值,如果字段不可爲空,則必須告訴South默認值,並且如果它是可以爲空的,則會給出默認值null