/ admin / products / product / add /处的OperationalError没有此表:main.auth_user__old

时间:2020-06-17 05:13:54

标签: django django-models django-admin django-errors

我正在Django上编辑项目,所以我删除了 pychache migrations db.sqlite3 ,并创建了一个新的超级用户登录到管理页面。创建产品并在管理页面上按“保存”后,出现错误消息“ / admin / products / product / add /处没有OperationalError,没有这样的表:main.auth_user__old”。我尝试使用解决方案来解决此问题,例如重新安装Django 2.0.7并再次进行 makemigrations migration ,但是到目前为止,我尝试过的所有解决方案都没有奏效。有谁知道可能的解决方案?

2 个答案:

答案 0 :(得分:0)

最常见的错误原因是创建超级用户后忘记迁移。创建超级用户后立即迁移即可解决我的问题。运行以下命令:

python manage.py migrate

您应该在以下操作中看到正常状态:

Apply all migrations: admin, auth, contenttypes, sessions, {APP_NAME}

打开您的Shell或admin管理员,然后尝试再次添加该产品。

答案 1 :(得分:0)

解决方案:升级到最新的 Django 版本(至少 3.1.7)

修复步骤:

  • 停止运行 django 网络服务器,Ctrl-C
  • 删除 db.sqlite3
  • 已卸载 Django 旧版
  • 使用 pip install django 或最新版本 3.1.7 安装最新版本的 Django
  • 问题 python manage.py makemigrations
  • 问题 python manage.py migrate
  • 使用 python manage.py createsuperuser
  • 创建超级用户
  • 问题 python manage.py runserver(或端口 8080)
  • 导航到http://127.0.0.1:8000/admin/
  • 您将能够成功地手动添加表。