Django后台自定义的actions按钮在做数据管理时非常方便。不过有时候,你不想让别人乱用或者甚至不让人看到。那么就需要设置一下,比如增加权限,或者对其它用户隐藏。
隐藏案例
class MyModelAdmin(admin.ModelAdmin):
...
def get_actions(self, request):
actions = super().get_actions(request)
if request.user.username != 'me':
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
按表单权限案例
@admin.action(permissions=['change'])
def make_published(modeladmin, request, queryset):
queryset.update(status='p')