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

Django服务启动失败127.0.0.1拒绝连接,迁移依赖节点不存在如何解决

问题核心

报错明确指向迁移链路断裂:auctions应用下的0003_auto_20201114_0509迁移文件的依赖配置中,引用了不存在的父迁移('auctions', '0002_listing')。Django启动前会校验迁移完整性,校验失败直接终止服务启动,所以才会出现127.0.0.1拒绝连接的现象。

排查步骤
  • 进入auctions/migrations/目录,查看文件列表,确认是否存在0002_listing.py,同时检查是否有其他编号断裂的迁移文件
  • 打开0003_auto_20201114_0509.py,查看头部dependencies字段配置,确认依赖项是否确实为('auctions', '0002_listing')
解决方案

根据是否需要保留现有数据库数据选择对应方案:

方案1:无需保留测试数据(开发场景首选)

  • 删除auctions/migrations/目录下所有编号≥0002的迁移文件,注意保留__init__.py
  • 删除项目根目录下默认的db.sqlite3数据库文件
  • 依次执行命令重建迁移和数据库:
    python3 manage.py makemigrations
    python3 manage.py migrate
    
  • 执行python3 manage.py runserver即可正常启动服务

方案2:需要保留现有数据库数据

  • 先确认auctions/migrations/目录下实际存在的0002编号迁移文件的完整名称,比如实际文件为0002_auto_20230101_1200.py,就将0003_auto_20201114_0509.py的dependencies字段中对应的('auctions', '0002_listing')修改为('auctions', '0002_auto_20230101_1200')
  • 若找不到对应0002迁移文件,执行python3 manage.py showmigrations auctions查看数据库中已记录的auctions应用迁移执行历史,取最后一条已执行的迁移编号作为0003迁移的依赖项即可
  • 修改完成后执行python3 manage.py migrate确认迁移校验通过,再启动服务即可
避坑提示
  • 开发阶段不要随意手动删除迁移文件,清理迁移时需要同步删除数据库中的迁移记录或整个测试库
  • 多人协作时要确保所有迁移文件同步提交,避免只提交部分迁移导致链路断裂

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:06:01