我有一个应用程序,我正在使用 django admin,但我的应用程序不允许删除数据,而 django admin 有一个 delete
按钮/链接。我已经删除了删除操作
。
我的问题是,如何删除 django 管理页面中的 delete
按钮/链接?
最佳答案
class MyAdmin(ModelAdmin):
def get_actions(self, request):
actions = super(MyAdmin, self).get_actions(request)
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
def has_delete_permission(self, request, obj=None):
return False
如果没有赋予删除权限,单个对象的“删除”按钮将消失。更改列表“操作”(选择列表以应用于选中复选框的对象)仍将显示,因为您可能有权删除某些对象。您可以使用上面的代码删除两者。
澄清(针对反对者):管理员检查当前用户是否具有删除权限,然后相应地显示/隐藏按钮。你写了“我的应用程序不允许删除”所以我假设你拿走了权限。 super 用户不会在权限中查找, super 用户总是返回“是的,我有那个权限”。如果你想让 super 用户的按钮消失,你必须使用我上面的代码。对于其他用户,只需根据 Sector 的回答取消权限即可。
关于python - 删除 django admin 中的按钮/链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9563935/