我正在编写一个django-south迁移,它依赖于另一个应用程序中的模型,因此我在运行python manage.py datamigration …
时包含了--freeze OTHERAPPNAME
但是在forwards()
函数中,我可以很好地访问另一个模型(使用orm['otherappname.MyModelName']
),但是在backwards()
步骤中(这也取决于otherappname中的模型),如果我试图访问orm['otherappname.MyModelName']
,我会得到一个错误
*** KeyError: "The model 'mymodelname' from the app 'otherappname' is not available in this migration."
我可以在文件底部看到冻结模型的详细信息。为什么我不能访问它?在
注意:这个模型是在otherappname中的另一个迁移中创建的,而这个迁移依赖于它。在
向后迁移实际上使用先前迁移的冻结ORM。当你思考它的时候,这是合乎逻辑的,但它不承认是非常直观的。在
寓意:在进行数据迁移的schemamigration中冻结数据迁移所需的模型。在
相关问题 更多 >
编程相关推荐