运行Django的manage.py命令时出现Traceback报错该如何解决?
错误原因
报错信息已经明确指向配置问题:你的Django项目中AUTH_USER_MODEL配置项格式不符合要求,Django要求该配置必须为应用名.自定义用户模型名的格式,你当前的配置没有包含.分隔符,系统拆分时只能得到1个值,无法匹配预期的「应用名+模型名」两个值,因此触发配置异常。
解决步骤
- 打开项目根目录下的settings.py文件,定位到
AUTH_USER_MODEL配置行 - 修改配置值为正确格式:假设你存放自定义用户模型的应用名为
accounts,自定义的用户模型类名为User,则配置为:
AUTH_USER_MODEL = "accounts.User"
- 校验两个关键点:
- 配置中的应用名必须和
INSTALLED_APPS列表中注册的应用名完全一致 - 配置中的模型名必须和对应应用的models.py文件里定义的用户模型类名完全一致,大小写匹配
异常处理
如果你修改配置后依然报错,或者之前已经执行过迁移生成了数据库表,需要做如下清理操作:
- 删除所有应用下
migrations目录中除了__init__.py之外的所有文件 - 删除项目根目录下的sqlite数据库文件(默认名为db.sqlite3),如果使用其他数据库则清空所有表
- 重新执行迁移命令:
python manage.py makemigrations python manage.py migrate
内容的提问来源于stack exchange,提问作者Saidazimkhon Agzamkhodjaev
相关产品推荐
相关产品推荐

