2014-09-28 36 views
0

我想改變模型的名字在Django 1.7中更改模型的名稱?

來源:

class GreenPost(models.Model): 
user = models.ForeignKey(settings.AUTH_USER_MODEL) 
title = models.CharField(max_length=40) 
text = models.CharField(max_length=255) 

def __unicode__(self): 
    return str(self.user.id) + " -- " + self.text 

class GreenMessage(models.Model): 
    post = models.ForeignKey(Post) 
    text = models.CharField(max_length=255) 
    status = models.BooleanField(default=False) 
    user = models.ForeignKey(settings.AUTH_USER_MODEL) 

    def __unicode__(self): 
    return str(self.post.user.username) + " -- " + self.text 

要:

class Post(models.Model): 
user = models.ForeignKey(settings.AUTH_USER_MODEL) 
title = models.CharField(max_length=40) 
text = models.CharField(max_length=255) 

def __unicode__(self): 
    return str(self.user.id) + " -- " + self.text 

class Message(models.Model): 
    post = models.ForeignKey(Post) 
    text = models.CharField(max_length=255) 
    status = models.BooleanField(default=False) 
    user = models.ForeignKey(settings.AUTH_USER_MODEL) 

    def __unicode__(self): 
    return str(self.post.user.username) + " -- " + self.text 

如果我剛申請了移民,Django的ORM會放棄我的老數據庫表和創建新表格。因此,刪除我可能在數據庫中的任何數據。

什麼是我可以重命名模型,但仍然保持數據和ex(外鍵)相同關係的方法?

回答

2

自動檢測器可能會感到困惑,因爲您一次更改Models。嘗試每次更改一個名稱,每次運行makemigrations

如果由於某種原因不起作用,您可以創建自己的遷移文件(使用makemigrations --empty)並使用RenameModel操作。

相關問題