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

Django自定义AbstractUser执行makemigrations出现依赖父节点不存在错误求助

Django迁移NodeNotFoundError问题解决步骤
  • 彻底清理迁移文件:进入每个应用的migrations目录,保留__init__.py,删除其余所有.py和.pyc文件;确认db.sqlite3已完全删除,无残留文件。
  • 确认配置:检查settings.py中已正确设置AUTH_USER_MODEL = '你的应用名.CustomUser',替换成实际的应用和自定义用户模型名称。
  • 修正模型关联:所有涉及用户关联的模型(比如products应用里的FavoriteProduct),外键需改为引用settings.AUTH_USER_MODEL,示例:
    from django.conf import settings
    
    class FavoriteProduct(models.Model):
        user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
        # 其他字段...
    
  • 分步生成迁移:
    1. 先给自定义用户所在的应用生成迁移:python manage.py makemigrations 你的应用名
    2. 再给其他应用生成迁移:python manage.py makemigrations
  • 初始化数据库:执行python manage.py migrate --run-syncdb,该命令会直接同步模型到数据库,跳过迁移依赖问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:12:13