ニュースレターを顧客に送信することになっているアプリに取り組んでいました。私はこのように定義されたモデルを持っていました
from django.auth.models import User
class Newsletter(models.Model):
owner = models.ForeignKey(User, related_name='+', blank=False)
sent = models.BooleanField(default=False)
date_created = models.DateTimeField(auto_now_add=True)
date_sent = models.DateTimeField(null=True)
subject = models.CharField(max_length=255)
content = HTMLField()
recipients = models.ManyToManyField(User, related_name='+')
後で、ユーザー アカウントを持っていない人にこれらを送信する必要があるかもしれないことがわかったので、メール モデルを定義しました。
class Email(models.Model):
email = models.CharField(max_length=255)
受信者フィールドを読み取りに変更しました
recipients = models.ManyToManyField(Email, related_name='+')
この後、schemamigration コマンドを実行しましたが、South は変更がないと主張しました。テーブルとインデックスを手動で操作しようと何度か試みましたが、ある時点で、これは新しいアプリなので、既存のテーブルをすべて削除し、すべての igration を削除して、最初の移行を最初からやり直すことができると考えました。ただし、データを本当に保存する必要がある場合、このような移行を行うにはどうすればよいかという疑問が生じます。