Django:/ admin /的OperationalError

时间:2016-03-21 04:46:12

标签: python django

所以我根据here运行我的程序,它没有任何错误。我去/ admin。我登录到目前为止一切都很好。然后当它加载时我得到这个:

Error Code

我检查了追溯(这真的很长)并且没有包含我的代码。它没有告诉我这个错误发生在代码的哪个部分,所以我不知道如何解决这个问题。请解释这是什么,为什么会发生这种情况,以及我如何解决它。

如果您需要我的代码的任何部分,请在评论中提问,因为我不知道发生了什么。

7 个答案:

答案 0 :(得分:6)

您需要按顺序运行migrate命令以强制django创建auth表。

python manage.py migrate

然后,对于您在模型上所做的任何更改,请不要忘记运行这两个命令。

python manage.py makemigrations
python manage.py migrate

答案 1 :(得分:2)

使用pip install django==2.1.5

如果问题仍然存在,

使用python manage.py migrate --run-syncdb

答案 2 :(得分:0)

直到他们不使用Django调试此问题,而Sqlite3使用Django的较早版本 您可以考虑使用1.10.5版(使用命令pip install --upgrade django == 1.10.5)

答案 3 :(得分:0)

如果午餐后仍然出现错误

python manage.py migrate

以及您对模型所做的每一项更改

python manage.py makemigrations
python manage.py migrate

然后检查您的Django版本是否早于2.1.5,因为该后一个版本修复了将对象作为超级用户添加到数据库时返回“ OperationalError> no such table”的错误。 所以尝试

pip install Django==2.1.5

但是,您将不得不重新编写项目。

答案 4 :(得分:0)

是的,那是django版本的错误,当我安装django == 2.1.5时,此问题已解决。

答案 5 :(得分:0)

  • 默认情况下,不在数据库中创建auth表
  • 所以首先我们需要创建表并重新加载页面

达到相同的目的

通过键入以下命令进行迁移

        1. python3 manage.py makemigrations
        2. python3 manage.py migrate

答案 6 :(得分:0)

安装最新的Django版本

$ pip3 install django==2.2.8
$ python3 manage.py makemigrations
$ python manage.py migrate

然后在浏览器中重新加载页面