从Django迁移中排除应用

coo*_*ugh 5 migration django django-models

有没有办法从Django迁移中排除应用程序的模型?我知道可以使用更改模型元选项,managed = False但是每次都需要编辑许多模型。有没有一种方法可以指定我不想迁移其模型的应用程序?

Ian*_*ick 7

从设置中已安装的应用程序中删除该应用程序。

  • 并且您必须在应用程序每个模型的“class Meta”中添加“app_label = 'the_app'” (2认同)

小智 6

__init__.py从应用程序迁移目录中删除文件应该可以工作。

  • 这个答案是我提出的问题的正确答案。但是,就我而言,我使用的是动态模型。当我在运行时生成它们时,我运行 `makemigrations` 和 `migrate` 以将它们添加到应用程序的模型中。所以这在我的情况下是行不通的。您对使用动态模型有什么想法吗? (3认同)
  • 这是执行此操作的一种黑客方法。是的,它可以工作,但那是因为它使迁移目录不是一个包。迁移文件不再可导入...这就是它们不起作用的原因...它们甚至不被视为代码。正确的方法是告诉 Django 不要包含它们……不要有效地将它们从存在中删除。 (2认同)