2013-03-12 126 views
0

我真的被困在這裏。我有一個模型,我現在正在遷移,直到現在。但今天我增加了新的領域,然後我做了schemamigration app --auto,然後它發現了新增加的領域,但是當我跑migrate app時,它說,字段newfield不存在。我不明白爲什麼。我取消註釋並試圖進行模式遷移並再次遷移,現在它正在吐出相同的錯誤。我錯了什麼,現在該怎麼辦?我想有這樣的情況:(django南遷移問題

感謝您的幫助

編輯一個固定的步驟:

class User(models.Model): 
    registerdate = models.CharField(max_length=400,default='') 
    vorname = models.CharField(max_length=100,default='') 
    nachname = models.CharField(max_length=100,default='') 
    plz = models.CharField(max_length=10,default='') <------------- this field i added 
    land = models.CharField(max_length=100,default='') 

錯誤說:

the following sql statement failed: ALTER TABLE home_user DROP COLUMN plz CASCADE;

,但現在,我有這個字段沒有註釋,如果我嘗試遷移,它說:列PLZ關係USER不存在。爲什麼這是?:(

+0

您可以在此處添加對模型所做的更改(差異)嗎?你可以對你得到的錯誤(確切的跟蹤)做同樣的事情嗎?這似乎你做的是正確的事情,所以這將有助於有這個信息,以幫助你... – marianobianchi 2013-03-12 03:23:58

+0

@凱瑟琳,我做到了,但同樣的錯誤即將到來。 – doniyor 2013-03-12 03:29:07

+0

如果您發佈追溯文件,遷移文件的相關部分,您可能會獲得更多幫助。另外,你取消了什麼?! – 2013-03-12 03:29:23

回答

3

我取消註釋並嘗試進行模式遷移並再次遷移,現在是 吐出相同的錯誤。

您是否刪除了添加新字段後創建的遷移?如果不是,那麼運行遷移將繼續嘗試運行此遷移。既然你說它第一次運行失敗,它會一直運行失敗,除非它被糾正或刪除。

如果第一次遷移確實無法運行,您可以嘗試刪除它(以及您可能創建的任何後續遷移),然後重新創建它。

然而,在嘗試這一點之前,發佈運行遷移時得到的錯誤的更完整回溯會很有幫助。你可能在南方認爲你的數據庫的狀態和它的實際狀態之間存在不匹配,但是如果沒有更多的信息,很難肯定地說。