【问题标题】:How to remove DELETE button from django admin page如何从 django 管理页面中删除 DELETE 按钮
【发布时间】:2023-06-23 06:09:01
【问题描述】:

我想从 django 管理页面中删除删除按钮 如下图

【问题讨论】:

标签: python django


【解决方案1】:

在您的ModelAdmin 定义中,您可以覆盖函数has_delete_permission。如果您希望删除所有用户的删除按钮,您可以返回 False

def has_delete_permission(self, request, obj=None):
    return False

不过,我建议您允许超级用户仍然可以删除

def has_delete_permission(self, request, obj=None):
    return request.user.is_superuser()

【讨论】:

  • def has_delete_permission(self, request, obj=None): return False 工作
  • 澄清一下;这 隐藏删除删除按钮。这使用户无法删除该对象。这可能是由于在具有on_delete=CASCADE 时删除相关对象而被隐式删除的对象的问题。
最近更新 更多