Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 迁移回滚期间无法从其他应用导入Django模型_Python_Django_Python 3.x_Django Migrations - Fatal编程技术网

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',
]