Django. 您没有编辑任何内容的权限

65 投票
5 回答
20352 浏览
提问于 2025-04-16 04:10

我之前做了一个小应用。我创建了admin.py文件,并用admin.site.register(MenuEntry)把这个类添加到管理控制台里。这样就能正常显示这个类的项目了。
然后我开始做另一个应用,像之前那样创建了一切。但是现在它显示:你没有权限编辑任何内容。
我对比了这两个应用的文件,它们看起来很相似,所以我就是找不到区别,也不知道该怎么做才能让它正常工作。

5 个回答

1

把你的Django升级到1.7或更高版本,这个问题就会自动解决。

升级Django的方法:

pip install -U django
2

我遇到了另一个类似的情况。我有一个叫“转录”的应用,里面有两个模型:项目和录音。在大部分开发完成后,我决定把这个应用改名为“录音”。管理员的应用运行得很好,但任何非管理员用户都收到了错误信息。最后,我在我的sqlite数据库中找到了一个叫django_content_type的表。这个表里有这些记录:

id  name      app_label     model
-------------------------------------
8   project   transcription project
9   recording transcription recording
10  project   recording     project
11  recording recordings    recording

在这个过程中,我不小心添加了两个(几乎是正确的——我不知道为什么第10条记录是“录音”)正确的记录,同时保留了现在不正确的记录。管理员用户运行得很好(我也不知道为什么),但其他用户组却出现了错误。当我查看auth_group_permissions时,发现只有第8和第9条记录被分配,而现在已经没有叫“转录”的应用了。所以就出现了错误。

我删除了第10和第11条记录,并把第8和第9条的app_labels改成了“录音”,结果一切都好了。

136

我又检查了一遍文件,发现了问题所在。我忘记在项目的 urls.py 文件里加上 admin.autodiscover() 这一行代码了。谢谢大家。

撰写回答