我正在使用south
来管理迁移,并且我已经到了一个角落。基本上,我有以下设置:如何在从一对一移动到一对多时执行数据迁移
应用1:
class A(models.Model):
# bunch of attributes
应用2:
class B(models.Models):
instance_a = models.OneToOneField(A, null=True, blank=True,
editable=False)
现在,我想从这个去这个:
应用1:
class A(models.Model):
instance_b = models.ForeignKey(B, null=True, blank=True)
应用2:
class B(models.Models):
# other attributes
我的主要问题是,我不能松动的数据。因此,基本上在迁移结束时,先前映射到对象B的所有对象A都应该保留该映射。例如,如果id为7的对象A映射到id为8的对象B,则在此过程结束时应保留此映射。
我试图从模式迁移与临时占位符和数据迁移混合的几件事情。然而,我总是在同一个地方,这是数据迁移执行时,我不再有以前的关系,以访问正确的属性。例如,B.instance_a不再可用。
我想两件事情你的意见:
- 首先,在这一切可行的使用正南方迁移。
- 其次,我该如何着手。
感谢