姜戈; squashmigrations 和循环依赖

Django; squashmigrations and circular dependencies

我有一个包含多个应用程序的 Django 项目,其中许多应用程序包含大量迁移文件。我试图使用 squashmigrations 命令一次压缩这些应用程序,但是这样做会导致 CircularDepencdyError。 Django 文档 here 建议打破循环依赖中的一个键来解决错误,但错误未指定此级别的详细信息。筛选了数千行迁移代码,我感到卡住了。

有没有人有解决此类问题的经验,或者知道一些最佳做法或寻找问题的提示?

根据 Sebastian 的建议,解决此循环依赖问题:

  • 从项目目录中删除迁移文件
  • django_migrations 数据库中删除迁移条目 table
  • 运行 makemigrations - Django 创建新的迁移文件
  • 运行 migrate --fake 因为你应该已经在数据库中有 tables

完成此操作后,我 manage.py test 工作起来很有魅力。