2012-03-02 18 views
6

我寫一個Django向南遷移是依賴於另一個應用程序的模型,所以我已經包括--freeze OTHERAPPNAME當我跑python manage.py datamigration …Django-South DataMigration - 應用程序可用於轉發()但不能倒退()?

然而在forwards()功能我可以訪問其他模型罰款(含orm['otherappname.MyModelName']),然而在在backwards()步驟(這還取決於otherappname模型),如果我嘗試訪問orm['otherappname.MyModelName'],我得到一個錯誤

*** KeyError: "The model 'mymodelname' from the app 'otherappname' is not available in this migration." 

我可以看到在文件的底部冷凍模型的細節。爲什麼我無法訪問它?

注意:該模型是在此數據遷移所依賴的其他遷移內部另一個遷移中創建的。

回答

10

向後遷移實際上使用先前的遷移的凍結ORM。當你考慮它時是合乎邏輯的,但它確實不是很直觀。

道德:在模式遷移中凍結您在數據遷移中需要的模型。

相關問題