モデルおよび関係フィールドの名前を変更するためのDjango移行戦略
名前を変更したいモデルとの外部キー関係を持つ他の多くのモデルが存在する既存のDjangoプロジェクトで、いくつかのモデルの名前を変更することを計画しています。これには複数の移行が必要になると確信していますが、正確な手順はわかりません。 と呼ばれるDjangoアプリ内の次のモデルから始めるとしましょうmyapp: class Foo(models.Model): name = models.CharField(unique=True, max_length=32) description = models.TextField(null=True, blank=True) class AnotherModel(models.Model): foo = models.ForeignKey(Foo) is_awesome = models.BooleanField() class YetAnotherModel(models.Model): foo = models.ForeignKey(Foo) is_ridonkulous = models.BooleanField() Foo名前は実際には意味がなく、コードに混乱を引き起こしているため、モデルの名前を変更します。これにより、名前がBarより明確になります。 Django開発ドキュメントで読んだことから、次の移行戦略を想定しています。 ステップ1 変更models.py: class Bar(models.Model): # <-- changed model name name = models.CharField(unique=True, max_length=32) description = models.TextField(null=True, blank=True) class AnotherModel(models.Model): foo …