You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目中生成多个初始迁移文件是否正常?

多初始迁移文件生成是否正常?

这种情况是正常的,主要原因如下:

  • 你保留的initial.py不符合Django迁移文件的命名规范。Django要求迁移文件名必须以数字编号开头(比如0001_initial.py),仅命名为initial.py的文件会被系统忽略。执行makemigrations时,Django会判定应用无任何迁移记录,直接根据当前模型生成新迁移;若模型存在依赖关系(比如多对多字段、继承模型),Django会自动拆分迁移步骤,生成多个初始迁移文件。

  • 若你保留的initial.py是旧的有效迁移,但和当前models.py结构不匹配,Django也会在生成新的初始迁移(0001)后,生成后续迁移填补差异——不过你已删除数据库,这种场景下更大概率是文件名规范问题导致的。

如果想避免这类情况,正确操作流程是:

  • 删除所有迁移文件(包括你保留的initial.py)
  • 删除数据库后重新创建
  • 执行makemigrations生成全新的初始迁移文件
  • 执行migrate完成数据库初始化

内容的提问来源于stack exchange,提问作者xSkolz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:53:11