Django makemigrations 应用命令

Django makemigrations app order

我正在使用 Django 1.8.4。由于我的项目还在建设中,我经常删除所有迁移脚本,然后重新运行makemigrations生成初始迁移脚本
我发现 makemigrations 会为我的一个应用程序生成两个迁移脚本,而其他应用程序只有 0001_initial.py。它会是这样的:

- 0001_initial.py
- 0002_auto_20150919_1645.py

我检查了 0002_auto_20150919_1645.py 的内容,它正在从其他应用程序的模型中添加外部字段。
我想这可能与为应用程序创建迁移的顺序有关。所以我删除了这个应用程序的这两个迁移脚本,然后再次运行 makemigrations。现在我只有一个用于此应用程序的迁移脚本。

我的问题是: 有什么方法可以控制 makemigrations 为应用程序创建迁移的顺序?

比如我有两个应用,app1app2app1依赖于app2。是否可以 makemigrations 先为 app2 创建迁移,然后 app1

您可以手动运行 迁移单个应用程序。

./manage.py makemigrations app2
./manage.py makemigrations app1
./manage.py makemigrations # migrate the rest of your apps

您还可以 squash 您现有的迁移。