私はsouth
移行を管理するために使用していますが、追い詰められました。基本的に、次の設定があります。
App1:
class A(models.Model):
# bunch of attributes
App2:
class B(models.Models):
instance_a = models.OneToOneField(A, null=True, blank=True,
editable=False)
今、私はこれからこれに行きたいです:
App1:
class A(models.Model):
instance_b = models.ForeignKey(B, null=True, blank=True)
App2:
class B(models.Models):
# other attributes
私の主な問題は、データを失うことができないということです。したがって、基本的に、移行の最後に、以前にオブジェクトBにマップされたすべてのオブジェクトAは、そのマッピングを維持する必要があります。例として、ID7のオブジェクトAがID8のオブジェクトBにマップされた場合、この手順の終わりまでに、このマッピングを保持する必要があります。
一時的なプレースホルダーとデータの移行を組み合わせたスキーマの移行からいくつかのことを試しました。ただし、私は常に同じ場所にいることになります。つまり、データ移行が実行されるまでに、正しい属性にアクセスするための以前の関係がなくなります。したがって、たとえば、B.instance_aは使用できなくなります。
私は2つのことについてあなたの意見をお願いします:
- まず、これは南への移動だけを使用して実行可能ですか。
- 第二に、私はどのように進めましょうか。
ありがとう