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

Django自定义UserAccount表不存在:添加字段后无法创建超级用户

解决Django自定义模型迁移失败及创建超级用户报错问题

步骤1:彻底清理迁移文件与缓存

  • 进入目标App目录下的migrations文件夹,删除除__init__.py之外的所有文件(包括.pyc编译文件和__pycache__子文件夹)
  • 确保项目根目录下的db.sqlite3文件已彻底删除(若使用其他数据库,需清空对应数据库的所有表)

步骤2:重置迁移状态

执行命令清除Django迁移系统的残留状态:

python manage.py migrate --fake-initial

该命令会让Django标记初始迁移为已应用,但不会实际创建表,为后续生成真实迁移做铺垫。

步骤3:重新生成迁移文件

针对目标App生成新的初始迁移:

python manage.py makemigrations your_app_name

将your_app_name替换为你的实际App名称(例如App名为App,则执行python manage.py makemigrations App),此时应能看到成功生成新迁移文件的提示。

步骤4:执行迁移创建数据库表

运行迁移命令,让Django实际创建模型对应的数据库表:

python manage.py migrate

查看输出,确认目标App的迁移已成功应用,UserAccount和Company表会被正常创建。

步骤5:创建超级用户

再次执行创建超级用户命令:

python manage.py createsuperuser

此时即可正常完成超级用户的创建,不会再出现表不存在的错误。

额外排查点

  • 确认settings.py的INSTALLED_APPS列表中已添加目标App(例如'App')
  • 检查自定义UserAccount模型是否正确配置了AUTH_USER_MODEL = 'App.UserAccount'(需写在settings.py中),且模型定义无语法错误
  • 若使用虚拟环境,确保激活了正确的环境,且依赖包为最新版本

内容的提问来源于stack exchange,提问作者K Srikanth Varma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 00:20:46