Django:/admin/出现操作错误

9
所以我按照这里的程序运行,没有任何错误。我去/admin, 登录,到目前为止一切都很好。然后当它加载时,我得到了这个:Error Code 我检查了追踪记录(非常长),但没有包含我的代码。它没有告诉我这个错误发生在代码的哪一部分,所以我不知道如何解决。请解释一下这是什么,为什么会发生,以及我该如何修复它。如果您需要我的代码的任何部分,请在评论中询问,因为我不知道这是在哪里发生的。
11个回答

24

你需要运行迁移命令,以便强制Django创建auth表。

python manage.py migrate

那么无论你对模型进行了哪些更改,都不要忘记运行这两个命令。

python manage.py makemigrations
python manage.py migrate

2

使用pip install django==2.1.5进行安装。

如果问题仍然存在,

使用python manage.py migrate --run-syncdb命令进行同步数据库操作。


哥们,你真是个神人!我刚刚为了这个问题困了好几个小时,然后突然它就跑起来了,太棒了!它现在运行着,天哪!眼泪都要掉下来了,非常非常感谢你! - Nugget

1
  • 默认情况下,数据库中不会创建auth表
  • 因此,我们需要先创建该表并重新加载页面

要实现相同的功能

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

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

0

是的,那是 Django 版本的错误。当我安装 Django==2.1.5 时,问题得到解决。


0
安装最新版的 Django
$ pip3 install django==2.2.8
$ python3 manage.py makemigrations
$ python manage.py migrate

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


0

这是迁移问题,只需键入以下命令:

python manage.py migrate


0

在Django和Sqlite3的问题得到解决之前,请使用旧版本的Django。您可以考虑使用1.10.5版本(使用命令pip install --upgrade django==1.10.5)。


-1
请使用以下命令:

python3 manage.py makemigrations

python3 manage.py migrate

python3 manage.py runserver


1
这个问题已经超过6年了。它有几个现有的答案,其中许多提到了makemigrationsmigrate。你确定这个答案引入了新的东西吗?如果是,请编辑以澄清。否则,请避免留下重复的答案。 - Chris
此外,与其盲目要求人们运行命令,请始终解释它们的作用以及为什么应该使用它们。SO 是关于学习的,而不是复制和粘贴。 - Chris

-1

用户权限

你好,在Django管理中:检查用户是否具有正确的权限,它应该可以工作。


目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

-1

如果您在启动后仍然遇到错误

python manage.py migrate

并且对于您在模型上所做的每一个更改

python manage.py makemigrations
python manage.py migrate

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

pip install Django==2.1.5

然而,您将不得不重新编写您的项目。


避免重写整个项目的好方法是复制并粘贴您编辑的文件中的文本,因此我期望它们是“admin、model、urls(#yourapp、#yourprojectinnerdirectory)、settings”。然后复制并粘贴模板目录,并最终从manage.py和settings.py中用#yourprojectnewname替换所有#yourprojectoldname。最后别忘了迁移、makemigrations和再次创建超级用户。 - Tms91

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接