Django Admin Cookbook-14如何在Django Admin后台移除“删除所选”操作

14.如何在Django Admin后台移除“删除所选”操作?

默认情况下,Django Admin后台的listview模型列表页,会有一个Delete Selected删除所选操作。假设你需要再从Hero管理模型中移除该删除操作。

ModelAdmin.get_actions方法可以返回所有的操作方法。通过覆盖此方法,移除其中delete_selected方法,便可可以从下拉列表中删除它。将Hero管理模型的代码修改如下:

def get_actions(self, request):
    actions = super().get_actions(request)
    if 'delete_selected' in actions:
        del actions['delete_selected']
    return actions

修改后,Admin后台效果如下:

Django Admin Cookbook-14如何在Django Admin后台移除“删除所选”操作

你还可以参考如何删除模型的“添加”/“删除”按钮?

返回目录