症状
Django 报出 Conflicting migrations detected; multiple leaf nodes in the migration graph 并中止,makemigrations 与 migrate 在整理好依赖图之前都无法执行。
诊断
查看迁移计划与文件:
python manage.py showmigrations --plan
ls myapp/migrations
若两个同序号文件共享同一父节点,即可确认冲突。
修复
让 Django 生成合并迁移:
python manage.py makemigrations --merge
python manage.py migrate
生成的文件会同时依赖两个叶子。立即提交该文件,使所有分支共享同一个叶子。
验证
再次执行 showmigrations --plan,每个 app 只应剩一个叶子;migrate 应正常完成而不报冲突。