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

Django迁移报错:accounts_user表不存在问题求助

解决Django自定义用户模型迁移报错问题

核心原因

设置AUTH_USER_MODEL = 'accounts.User'后,Django内置的auth、admin等模块迁移依赖自定义用户表,但自定义用户模型的迁移未被优先执行,再加上残留的旧迁移文件导致makemigrations无法生成新的初始迁移,最终引发找不到表的错误。

解决步骤

  • 彻底清理旧迁移文件:删除所有app下migrations目录中除__init__.py之外的所有文件,包括accounts/migrations/0002_initial.py这类残留文件。
  • 验证自定义用户模型定义:确保accounts/models.py中的User模型继承正确,示例代码:
    from django.contrib.auth.models import AbstractUser
    from django.db import models
    
    class User(AbstractUser):
        # 自定义字段(如有需求添加)
        pass
    
  • 重新生成初始迁移:执行命令生成自定义用户模型的迁移文件:
    python manage.py makemigrations accounts
    
    此时会在accounts/migrations下生成0001_initial.py,包含正确的用户模型迁移逻辑。
  • 按顺序执行迁移:先迁移accounts app创建用户表,再执行全局迁移处理其他模块:
    python manage.py migrate accounts
    python manage.py migrate
    

额外排查点

  • 确认settings.py中INSTALLED_APPS已添加accounts;
  • 检查AUTH_USER_MODEL = 'accounts.User'是否写在settings.py的合理位置(避免放在文件末尾之后,确保Django加载时能读取到);
  • 若仍有问题,删除db.sqlite3后重复上述步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 13:22:44