在管理后台确认后删除。

0 投票
1 回答
619 浏览
提问于 2025-04-18 06:03

我需要为管理员重写删除方法,像这样:

def fully_delete_selected_photos(self, request, queryset):
    # Code to do my specific delete method.
fully_delete_selected_photos.short_description = "Delete Selected Photos"


class VehiclePhotoAdmin(admin.ModelAdmin):
    search_fields = ('listing_id',)
    list_display = ('listing_id', 'disp_VehiclePhoto')

    actions = [fully_delete_selected_photos]

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

这样做是没问题的,但我失去了删除确认的功能。所以当用户选择我的“删除选定照片”选项时,它会立即执行删除操作。我该如何为这个重写的删除操作添加一些确认提示呢?我对管理员界面的重定向有些困惑。

谢谢你的时间!

1 个回答

0

你可以在fully_delete_selected_photos这个方法里返回HttpResponseRedirect,然后创建一个自定义的视图,这个视图可以继承自管理后台的模板,并且接受一个查询集参数,列出所有被选中的照片。
不过如果你想让这个过程更简单,可以在管理界面里加一些JavaScript代码。

撰写回答