Python 迁移回滚期间无法从其他应用导入Django模型
我正在为新的_应用程序创建一个数据迁移,并有可能回滚它Python 迁移回滚期间无法从其他应用导入Django模型,python,django,python-3.x,django-migrations,Python,Django,Python 3.x,Django Migrations,我正在为新的_应用程序创建一个数据迁移,并有可能回滚它 # This is `new_app` migration class Migration(migrations.Migration): dependencies = [ ] operations = [ migrations.RunPython(import_data, reverse_code=delete_data) ] 此迁移将向其他应用程序中定义的模型添加一些数据:my_oth
# This is `new_app` migration
class Migration(migrations.Migration):
dependencies = [
]
operations = [
migrations.RunPython(import_data, reverse_code=delete_data)
]
此迁移将向其他应用程序中定义的模型添加一些数据:my_other_app。要导入要在其中更新或删除记录的模型,请使用apps.get\u model方法
当我应用迁移时,它就像魅力一样。但当我运行时,请尝试使用:~>manage.py migrate new_app zero回滚迁移,我得到异常:LookupError:没有安装标签为“my_other_app”的应用程序。回滚代码中的模型导入:
# This is `new_app` migration
def delete_data(apps, schema_editor):
schema_model = apps.get_model('my_other_app', 'MyModel')
模型导入的代码是相同的,但是为什么它在迁移回滚期间不工作呢?现在,我有一个在回滚期间使用直接模型导入的解决方法。不知道它是否会在将来引起麻烦。确保依赖项包括来自您正在引用的其他应用程序的最新迁移。例如:
dependencies = [
'my_other_app.0001_initial',
]
此外,请确保“我的其他应用程序”位于已安装的应用程序设置中
dependencies = [
'my_other_app.0001_initial',
]