【发布时间】:2020-01-19 15:43:43
【问题描述】:
我正在将 Django 网站从 Django 1.8 升级到 Django 2.2,但在尝试从 Django 管理更改列表视图中删除对象时遇到了问题。当我尝试删除一个对象时,我看到一个屏幕,上面写着“删除所选记录将导致删除相关对象,但您的帐户无权删除以下类型的对象”。问题是,我是超级用户,应该有权删除我想要的任何对象,或者我想。
我已经阅读了大量关于 Django 升级和超级用户权限的文档,但是我没有偶然发现任何对我有帮助的东西(不过我可能会遗漏一些东西)。我已经尝试创建一个新的超级用户以防万一,但仍然会出现相同的消息。无论如何,有谁知道为什么会发生这种情况?
注意:我无法显示任何代码,因为我在一家公司工作并且我签署了 NDA。只是一些帮助指出我正确的方向将不胜感激。
【问题讨论】:
-
有一个包,github.com/django-guardian/django-guardian。这允许您限制对模型对象的权限。这可能使您无法删除模型。我可能还需要在模型管理员处进行操作,确保其中没有锁定操作。
-
检查
has_delete_permission方法是否已在模型管理中被覆盖。 -
谢谢大家! dirkgroten 是对的,事实证明 has_delete_permission 被覆盖了!感谢您的帮助!
标签: python django model permissions superuser