自定义 action 函数和普通函数没啥区别,需要是三个参数:当前的 ModelAdmin,当前的 HttpRequest,用户说选中的 QuerySet
def make_publiced(modleadmin,request,queryset):
queryset.update(public=False)
直接调用 queryset 的 update 比逐个迭代 entity 更高效。默认action的下拉列表显示的名字就是函数名make_publiced,但是你可以起一个更优雅的名字:
make_publiced.short_description = u"标记为公开"
最后一步就是告诉 modelaction
actions = ['make_publiced']
以上就是你需要做的全部 https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/

