The default "delete selected" admin action in Django

Viewed 22925

How can I remove or change the verbose name of the default admin action "delete selected X item" in the Django admin panel?

8 Answers

Alternatively to Googol's solution, and by waiting for delete_model() to be implemented in current Django version , I suggest the following code.

It disables the default delete action for current AdminForm only.

class FlowAdmin(admin.ModelAdmin):
    actions = ['delete_model']

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

    def delete_model(self, request, obj):
        for o in obj.all():
            o.delete()
    delete_model.short_description = 'Delete flow'

admin.site.register(Flow, FlowAdmin)
Related