Django超级用户没有权限删除模型。

12
我正在升级一个Django网站,从Django 1.8升级到Django 2.2,在尝试从Django管理面板的更改列表视图中删除对象时遇到了问题。当我尝试删除对象时,会显示一个屏幕,上面写着“删除所选记录将导致删除相关对象,但您的帐户没有权限删除以下类型的对象”。问题是,我是超级用户,应该有权限删除任何我想要的对象,或者我这样认为。我已经阅读了相当多的Django升级和超级用户权限的文档,但我还没有找到任何可以帮助我的东西(虽然我可能错过了某些内容)。我已经尝试创建一个新的超级用户,以防万一,但仍然出现相同的消息。无论如何,是否有人知道为什么会发生这种情况?注意:我不能展示任何代码,因为我在为一家公司工作,并签署了保密协议。只需要指点一下方向就好。

有一个包,https://github.com/django-guardian/django-guardian。它可以让你限制你的模型对象的权限。这可能会使您无法删除模型。我可能还需要检查modeladmin,确保其中没有被锁定的操作。 - Toan Quoc Ho
11
检查模型管理器中是否重写了has_delete_permission方法。 - dirkgroten
1
谢谢大家!dirkgroten是对的,结果发现has_delete_permission被覆盖了!感谢你们的帮助! - I_am_learning_now
2个回答

14

对于其他遇到这个问题的人,dirkgroten是正确的,原来 has_delete_permission 被覆盖了! 感谢你的帮助 dirkgroten!


0

OPENEDX 如果您遇到此问题,请从后端执行以下操作。

无法删除用户 删除所选用户将导致删除相关对象,但您的帐户没有权限删除以下类型的对象: 课程注册

在EDX服务器(如AWS)中打开Mysql, 然后 根据用户名获取用户ID, 然后从该用户中删除student_courseenrollment

示例

select id from auth_user where username = 'exampleusername'

delete from student_courseenrollment where user_id = get user_id from 1 query set;

like delete from student_courseenrollment where user_id = 123;

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