Django admin 删除默认的 delete select action 操作

By 刘志军 , 2019-07-06, 分类: qa

django

如图:

export_selected.png

如果要移除默认的 delete_selected 操作,可以通过重写 get_actions 方法实现。

class MyModelAdmin(admin.ModelAdmin):
    ...
    # 所有用户都不可见
    def get_actions(self, request):
        actions = super().get_actions(request)
        if 'delete_selected' in actions:
            del actions['delete_selected']
        return actions

    # 针对某个特定的用户不可见
    def get_actions(self, request):
        actions = super().get_actions(request)
        if request.user.username[0].upper() != 'J':
            if 'delete_selected' in actions:
                del actions['delete_selected']
        return actions

关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅

猜你喜欢

2020-05-21
django charfield 字段在 admin 中使用 textarea
2020-05-21
Django 集成阿里云OSS
2020-01-07
Django入门与实践-第0章:前言
2020-01-07
Django入门与实践-第1章:环境搭建
2020-01-07
Django入门与实践-第2章:创建项目
2020-01-07
Django入门与实践-第3章:Hello World
2020-01-07
Django入门与实践-第4章:系统设计
2020-01-07
Django入门与实践-第5章:模型设计
2020-01-07
Django入门与实践-第6章:第一个视图函数
2020-01-07
Django入门与实践-第7章:模板引擎设置