【发布时间】:2023-10-23 08:03:01
【问题描述】:
我正在创建一个python django 项目,而在管理员中我想让它像这样运行:
用户打开customer 窗口,该窗口将显示所有customers 的列表,然后如果用户有某个permission,则位置过滤器可见,但如果没有permission,则过滤器不可见.
这可能吗?如果可以,那怎么办?
【问题讨论】:
标签: python django filter permissions
我正在创建一个python django 项目,而在管理员中我想让它像这样运行:
用户打开customer 窗口,该窗口将显示所有customers 的列表,然后如果用户有某个permission,则位置过滤器可见,但如果没有permission,则过滤器不可见.
这可能吗?如果可以,那怎么办?
【问题讨论】:
标签: python django filter permissions
您可以覆盖 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 []
【讨论】: