Django-South DataMigration - 应用程序可用于转发()但不能倒退()?

时间:2012-03-02 16:34:51

标签: python django migration database-migration django-south

我正在编写一个django南迁移,这取决于另一个应用中的模型,所以当我运行--freeze OTHERAPPNAME时,我已经包含python manage.py datamigration …

但是在forwards()函数中我可以访问其他模型(使用orm['otherappname.MyModelName']),但是在backwards()步骤(这也取决于其他名称中的模型),如果我尝试访问orm['otherappname.MyModelName'],我收到错误

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

我可以在文件底部看到冻结的模型详细信息。为什么我不能访问它?

注意:此模型是在此数据迁移所依赖的其他迁移内创建的。

1 个答案:

答案 0 :(得分:10)

向后迁移实际上使用之前迁移的冻结ORM。你考虑它是合乎逻辑的,但它确实不是很直观。

道德:在进行模式迁移的模式迁移中冻结数据迁移中需要的模型。