Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据权限管理django管理员筛选器_Python_Django_Filter_Permissions - Fatal编程技术网

Python 根据权限管理django管理员筛选器

Python 根据权限管理django管理员筛选器,python,django,filter,permissions,Python,Django,Filter,Permissions,我正在创建一个pythondjango项目,在管理中,我想让它像这样运行: 用户打开客户窗口,该窗口将显示所有客户的列表,如果用户具有特定的权限,则位置过滤器可见,但如果没有权限,则过滤器不可见 这可能吗?如果可能,那么如何实现?您可以覆盖ModelAdmin的方法并检查其中的权限 例如: MyAdmin(admin.ModelAdmin): def get_list_filter(self, request): if request.user.has_perm('som

我正在创建一个
pythondjango
项目,在管理中,我想让它像这样运行:

用户打开
客户
窗口,该窗口将显示所有
客户的列表
,如果用户具有特定的
权限
,则位置过滤器可见,但如果没有
权限
,则过滤器不可见

这可能吗?如果可能,那么如何实现?

您可以覆盖
ModelAdmin
的方法并检查其中的权限

例如:

MyAdmin(admin.ModelAdmin):
    def get_list_filter(self, request):
        if request.user.has_perm('some_perm'):
            return ['filter_1', 'filter_2', ......]
        else:
            return []