是否可以覆盖用于调用Django管理删除确认页面的方法?

Huu*_*uze 6 python django django-admin

在Django的管理页面上,我想在管理员单击对象的"删除"按钮时执行操作.换句话说,我想在到达"你确定吗?"之前执行一些代码.删除确认页面.

我意识到我可以覆盖此对象的模板页面,但我希望更容易(例如,覆盖模型或表单上的方法).

有什么想法吗?

zgo*_*oda 7

您可以覆盖ModelAdmin.delete_view()方法,例如:

class MyModelAdmin(ModelAdmin):
    def delete_view(self, request, object_id, extra_context=None):
        # if request.POST is set, the user already confirmed deletion
        if not request.POST:
            perform_my_action()
        super(MyModelAdmin, self).delete_view(request, object_id, extra_context)
Run Code Online (Sandbox Code Playgroud)

  • 当在一个操作中删除多个对象时,此解决方案是否也适用于django admin中的多删除? (2认同)