根据权限管理django admin过滤器
Managing django admin filters according to permissions
我正在创建一个 python django
项目,在管理中我想让它像这样运行:
用户打开 customer
window 将显示所有 customers
的列表,然后如果用户有某个 permission
位置过滤器可见,但如果没有 permission
则过滤器不可见。
这可能吗?如果可以,那怎么办?
您可以覆盖 ModelAdmin
的 get_list_filter 方法并检查其中的权限。
示例:
MyAdmin(admin.ModelAdmin):
def get_list_filter(self, request):
if request.user.has_perm('some_perm'):
return ['filter_1', 'filter_2', ......]
else:
return []
我正在创建一个 python django
项目,在管理中我想让它像这样运行:
用户打开 customer
window 将显示所有 customers
的列表,然后如果用户有某个 permission
位置过滤器可见,但如果没有 permission
则过滤器不可见。
这可能吗?如果可以,那怎么办?
您可以覆盖 ModelAdmin
的 get_list_filter 方法并检查其中的权限。
示例:
MyAdmin(admin.ModelAdmin):
def get_list_filter(self, request):
if request.user.has_perm('some_perm'):
return ['filter_1', 'filter_2', ......]
else:
return []