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

Django自定义用户模型报错:AUTH_USER_MODEL指向未安装的api.User

解决 Django AUTH_USER_MODEL 配置报错问题

问题定位

你遇到的报错本质是自定义User模型的字段定义存在语法或配置错误,导致Django无法识别该模型,进而判定api.User未安装。空的User类能正常运行,说明模型继承逻辑本身没问题,问题出在你添加的自定义字段上。

具体排查与修复步骤

  • 检查字段类型与必填参数
    比如字符串类型的字段必须指定max_length参数,整数类型字段若需唯一约束要加unique=True。示例正确写法:
    from django.contrib.auth.models import AbstractUser
    from django.db import models
    
    class User(AbstractUser):
        chatID = models.CharField(max_length=50, unique=True)  # 字符串字段必填max_length
        fname = models.CharField(max_length=100)
        # 其他字段需确保参数符合Django对应字段类型的要求
    
  • 排查字段名冲突
    避免使用Django内置User模型已有的字段名(如username、email),若需覆盖内置字段,需明确声明并处理兼容性逻辑。
  • 检查模型文件语法错误
    留意是否遗漏逗号、引号,或存在导入错误。哪怕是微小的语法问题,都会导致Django无法加载模型。
  • 重新生成并执行迁移
    修复字段后,删除api/migrations目录下除__init__.py外的所有文件,再执行以下命令:
    python manage.py makemigrations api
    python manage.py migrate
    
    确保迁移流程完整执行,让Django正确识别并创建自定义User模型的数据表。

额外注意事项

  • 自定义User模型需在项目初始化阶段就配置完成,若已生成过默认User模型的迁移记录,需清空数据库或重置迁移文件,否则可能出现兼容性问题。
  • 确认settings.py中INSTALLED_APPS已正确添加api,且AUTH_USER_MODEL = "api.User"的拼写完全正确(包括大小写、应用名、模型名)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:34:50