我正在编写一个django向南迁移,它依赖于另一个应用程序中的模型,所以我在运行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内的另一个迁移中创建的,该数据迁移依赖于该迁移。
发布于 2012-03-03 01:30:23
向后迁移实际上使用了上一次迁移的冻结ORM。当你思考它的时候,这是合乎逻辑的,但无可否认,它不是很直观。
启示:将数据迁移中需要的模型冻结在数据迁移之前的模式迁移中。
https://stackoverflow.com/questions/9536901
复制相似问题