1
我正在開發一個應用程序,該應用程序應該將消息發送給客戶。我後來這樣南遷移和對多對多字段的更改
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聲稱沒有更改。我已經做了幾次手動操作表和索引的嘗試,但是在某個時候我發現,由於它是一個新的應用程序,我可以刪除所有現有的表,刪除所有的igrations並從頭開始重新創建初始遷移。然而,這提出了一個問題,如果我真的需要保存數據,我該如何做這樣的遷移。
南有沒有注意到新的'Email'模式? – ptrck
是的,它的確如此。但它沒有注意到有關M2M鏈路的任何信息。 –
查看以前的遷移凍結,並查看變更是否已經存在。有時候,如果您對模型進行更改並執行一些數據遷移,則會發生這種情況。 –