创建Django超级用户时提示“no such table: users_user”错误求助
解决Django创建超级用户时users_user表不存在的错误
出现django.db.utils.OperationalError: no such table: users_user的核心原因是:你已配置自定义用户模型,但对应数据库表未生成,或迁移流程未正确执行。按以下步骤排查修复:
生成用户模型的迁移文件
进入项目根目录,执行命令:python manage.py makemigrations users执行前确认
users应用下的migrations目录是否有旧迁移文件,若是新项目且之前误生成过无效迁移,可删除该目录下除__init__.py外的所有文件,再执行上述命令。执行迁移生成数据库表
运行迁移命令将模型同步到数据库:python manage.py migrate这一步会创建
users_user表及其他Django系统表。重新创建超级用户
完成迁移后,再次执行创建命令:python manage.py createsuperuser此时即可正常创建超级用户。
注意:如果是项目运行一段时间后才修改AUTH_USER_MODEL,会导致原有迁移和数据库结构冲突,这种情况建议备份数据后重置数据库,再重新执行上述迁移步骤。
内容的提问来源于stack exchange,提问作者NECBLACK
相关产品推荐
相关产品推荐

