我有一个现有类模型的项目
class Disability(models.Model):
child = models.ForeignKey(Child,verbose_name=_("Child"))
但是随着最近的架构变化,我必须将其修改为
class Disability(models.Model):
child = models.ManyToManyField(Child,verbose_name=_("Child"))
现在对于这个新的变化..(即使我必须为新的数据库修改现有的数据库)我想数据迁移是最好的方法,而不是手动进行。
我参考了这个在线文档
http://south.readthedocs.org/en/latest/commands.html#commands-datamigration
但它很少涉及数据迁移。以及有关架构迁移的更多信息。
问题 1。如果我进行架构迁移,这会让我失去属于那个旧模型的所有以前的数据。
问题2 。即使我正在尝试模式迁移,它也在问这个......
(rats)rats@Inspiron:~/profoundis/kenyakids$ ./manage.py schemamigration web --auto
? The field 'Disability.child' does not have a default specified, yet is NOT NULL.
? Since you are removing this field, you MUST specify a default
? value to use for existing rows. Would you like to:
? 1. Quit now, and add a default to the field in models.py
? 2. Specify a one-off value to use for existing columns now
? 3. Disable the backwards migration by raising an exception.
? Please select a choice: 1
谁能解释一下模式和数据迁移之间的概念和区别,以及如何分别实现这一点。