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

如何解决Django迁移中的NodeNotFoundError依赖不存在错误?

解决Django迁移NodeNotFoundError问题

核心原因

你的posty.0038_remove_post_uzytkownik_post_grupa迁移文件依赖了一个不存在的auth应用迁移版本0048_alter_group_grupa_departament_and_more。即便删除本地migrations文件夹和__pycache__,数据库的django_migrations表仍保留着旧的依赖记录,所以问题无法解决。

具体修复步骤

  • 修正迁移依赖
    找到posty/migrations/0038_remove_post_uzytkownik_post_grupa.py文件,查看dependencies列表,把不存在的('auth', '0048_alter_group_grupa_departament_and_more')替换为当前auth应用实际存在的最新迁移版本号。比如auth最新迁移是0012_alter_user_first_name_max_length,就改成('auth', '0012_alter_user_first_name_max_length')。

  • 清理数据库迁移记录
    连接到Django数据库,操作django_migrations表:

    1. 先查询posty相关迁移记录:
      SELECT * FROM django_migrations WHERE app = 'posty';
      
    2. 删除所有posty的迁移记录:
      DELETE FROM django_migrations WHERE app = 'posty';
      
    3. 同时检查auth的迁移记录,确认0048_alter_group_grupa_departament_and_more是否存在,若不存在则直接确认依赖修正的正确性。
  • 重新生成并应用迁移
    回到项目根目录执行命令:

    python manage.py makemigrations posty
    python manage.py migrate posty
    
  • 特殊场景处理
    若问题源于第三方库修改auth迁移导致版本不兼容:

    1. 检查第三方库与当前Django版本的兼容性,必要时回滚第三方库到兼容版本;
    2. 若手动删除过auth迁移文件,可先备份数据库,再生成空迁移调整依赖:
      python manage.py makemigrations auth --empty
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:07:38