如何删除其他应用程序迁移中的Django应用程序?

时间:2019-05-16 12:32:15

标签: python django django-migrations

  • 在具有许多应用程序的django 1.11项目中,一个应用程序obsolete_app已过时,将被完全删除。
  • 它具有字段ObsoleteField,用于应用程序bar的模型中。因此,该字段在迁移文件中被引用。
  • ObsoleteField是ManyToManyField的子类,带有to=myproject.obsolete_app.models.ObsoleteModel
  • 这些迁移已在生产服务器上运行

我要绕圈走,但找不到令manage.py migrate通过的命令:

  • 添加从应用ObsoleteField的模型中删除bar的迁移
  • 删除models.py,并添加迁移以删除模型ObsoleteModel
  • INSTALLED_APPS删除应用程序
  • obsolete_app删除所有文件
  • 编辑导入已删除字段/模型的旧迁移

我看到此错误:

File "/var/venv-stable/lib/python2.7/site-packages/django/db/migrations/operations/fields.py", line 150, in state_forwards
    delay = not old_field.is_relation
AttributeError: 'NoneType' object has no attribute 'is_relation'

我的想法是让django相信该应用程序不存在,因此删除了所有导入,所有migrations.AlterField等。但是manage.py migrate总是抱怨某些事情。

0 个答案:

没有答案