在迁移Django / South上设置默认值?

时间:2014-11-14 15:07:05

标签: python django migration django-south

当我将具有default值的列添加到具有此类字段的现有数据时,具有South 0.8的Django 1.6是否会设置默认值?

gametype = models.PositiveSmallIntegerField(_('type of game'), 
                                            choices=CONST_TYPES, 
                                            default=CONST_TYPE_NORMAL, 
                                            null=True, blank=True)

我担心null=True同时指定default

1 个答案:

答案 0 :(得分:1)

这取决于游戏类型是否是新字段。

  1. 如果游戏类型字段是新字段,则迁移会将该字段添加到每个模型实例并使用默认值。
  2. 但是,如果游戏类型字段已经存在且数据库中已存在值,则南方不应该使用它们,即使它们是NULL。