Django-South DataMigration - 应用程序在 forwards() 中可用,但在 backs() 中不可用?
Posted
技术标签:
【中文标题】Django-South DataMigration - 应用程序在 forwards() 中可用,但在 backs() 中不可用?【英文标题】:Django-South DataMigration - App available in forwards() but not backwards()? 【发布时间】:2012-03-21 04:03:23 【问题描述】:我正在编写依赖于另一个应用程序中的模型的 django 南迁移,所以我在运行 python manage.py datamigration …
时包含了 --freeze OTHERAPPNAME
但是在forwards()
函数中,我可以很好地访问另一个模型(使用orm['otherappname.MyModelName']
),但是在backwards()
步骤中(这也取决于其他应用程序名称中的模型),如果我尝试访问orm['otherappname.MyModelName']
, 我得到一个错误
*** KeyError: "The model 'mymodelname' from the app 'otherappname' is not available in this migration."
我可以在文件底部看到冻结模型的详细信息。为什么我无法访问它?
注意:此模型是在此数据迁移所依赖的 otherappname 内的另一个迁移中创建的。
【问题讨论】:
【参考方案1】:向后迁移实际上使用了 previous 迁移的冻结 ORM。仔细想想是合乎逻辑的,但不可否认它不是很直观。
道德:将数据迁移所需的模型冻结在进行它的架构迁移中。
【讨论】:
以上是关于Django-South DataMigration - 应用程序在 forwards() 中可用,但在 backs() 中不可用?的主要内容,如果未能解决你的问题,请参考以下文章
Django-South DataMigration - 应用程序在 forwards() 中可用,但在 backs() 中不可用?