我正在使用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不再可用。
我想兩件事情你的意見:
- 首先,在這一切可行的使用正南方遷移。
- 其次,我該如何着手。
感謝