列表删除按钮:
在这里插入图片描述
编辑删除按钮:
在这里插入图片描述
注: 编辑中页面的删除按钮触发的是delete_model()方法。

下面将列表删除按钮和编辑删除按钮功能统一:

from django.contrib import admin
class SchoolClassAdmin(admin.ModelAdmin):
    verbose_name = "班级"

    list_display = ("id", 'grade', 'num', 'school')
    list_filter = ('grade', 'num',)

    actions = ['really_delete_selected']

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

    def delete_model(self, request, obj):
        qs = SchoolClass.objects.filter(id=obj.id)
        self.really_delete_selected(request, qs)

    def really_delete_selected(self, request, queryset):
        for obj in queryset:
            obj.delete()
            #dosomething

        if queryset.count() == 1:
            message_bit = "1 条记录被"
        else:
            message_bit = "%s 条记录被" % queryset.count()
        self.message_user(request, "%s成功删除." % message_bit)

    really_delete_selected.short_description = "-删除"

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐