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

Django项目v1目录下users应用设置AUTH_USER_MODEL报错

解决Django自定义User模型配置错误的问题

问题分析

你遇到的django.core.exceptions.ImproperlyConfigured错误,核心原因是AUTH_USER_MODEL的配置格式错误,以及嵌套app标签的匹配问题。

正确配置步骤

1. 修正AUTH_USER_MODEL的值

你的自定义User模型位于api/v1/users这个app中,app的标签是users(对应文件夹名),正确的配置应该是:

AUTH_USER_MODEL = "users.User"

你之前尝试的user.User是单数形式(少了末尾的s),这是直接触发报错的原因。

2. 确认users app的配置

检查api/v1/users/apps.py文件,确保AppConfig的name和label设置正确:

from django.apps import AppConfig

class UsersConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'api.v1.users'  # 必须和INSTALLED_APPS里的注册名一致
    label = 'users'  # 显式指定app标签,避免嵌套目录导致的歧义

如果没有这个文件,可以手动创建;若使用Django默认的AppConfig,label会自动取name的最后一部分users,也能正常工作。

3. 验证模型定义

确保users/models.py中的User模型继承正确且无拼写错误:

from django.contrib.auth.models import AbstractUser
from django.db import models

class User(AbstractUser):
    pass

4. 执行数据库迁移

配置完成后,执行以下命令完成初始化迁移:

python manage.py makemigrations users
python manage.py migrate

常见误区提醒

  • AUTH_USER_MODEL的格式是app_label.ModelName,其中app_label是app的标签(通常为文件夹名),不是完整的目录路径。
  • 不要在已完成初始迁移的项目中修改AUTH_USER_MODEL,否则会导致数据库结构冲突,若必须修改需重置数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:30:31