Mon*_*ard 12 python django django-south
南方为什么不识别Python模型中默认字段值的变化?例如,使用以南迁移的现有模型:
class MyFamily(models.Model):
family_size = models.IntegerField(verbose_name="What is your family size?", default=2)
Run Code Online (Sandbox Code Playgroud)
现在,我想将默认值从2更改为4.但是,在模块化模块时,South报告:
python manage.py schemamigration family --auto change_default_from_two_to_four_for_size
Running migrations for family:
- Nothing to migrate.
- Loading initial data for family.
Run Code Online (Sandbox Code Playgroud)
我可以手动更新初始迁移,并使用SQL直接更新字段,但这很痛苦.是否有一个我发现的南方命令识别默认值的变化?
谢谢!
man*_*nji 11
South不会更新现有列的默认值,因为只有在向非空表中添加新列时才对它很重要.在django orm
将处理进入数据库之前写入新的默认值将新行.
如果您将从外部处理数据库django orm
,则必须手动更新它.
归档时间: |
|
查看次数: |
2546 次 |
最近记录: |