0
一度に1つの外部キーで、管理対象外モデルから管理対象モデルに徐々に移行しています。現在の状況:管理対象外のモデルの外部キーからDjango 1.7の管理対象モデルにデータを移行するにはどうすればよいですか?
class OldOrg(Model):
pass
class Meta:
managed = False
class OldService(Model):
offered_by = models.ForeignKey(OldOrg)
class Meta:
managed = False
class NewOrg(Model):
org = models.OneToOneKey(OldOrg)
class NewService(Model):
service = OneToOneKey(OldService)
次のステップ:
class NewService(Model):
service = OneToOneKey(OldService)
offered_by = models.ForeignKey(NewOrg)
問題はDjangoの作り付けの移行システムを使用して、データの移行に起こります。フィールドOldService.offered_by
は存在しないので、NewService.offered_by
で使用するためにNewOrg
主キーに到達するために使用することはできません。移行で
# This works in the shell but not in a migration
for ns in NewService.objects.all():
ns.offered_by = ns.service.offered_by.new_org
、OldService
は、いずれかのフィールドoffered_by_id
を持っていません。 OldService
のデータを取得する他の方法はありますか?