utils.admin_utils module¶
- class utils.admin_utils.SimpleSignFilter(request, params, model, model_admin)[源代码]¶
基类:
SimpleListFilter
子类必须以field定义筛选的字段,可以定义lookup_choices
- field: str = NotImplemented¶
- lookups(request, model_admin)[源代码]¶
Must be overridden to return a list of tuples (value, verbose value)
- parameter_name = 'Sign'¶
- title = '符号'¶
- utils.admin_utils.as_action(description: str = None, /, register_to: list = None, permissions: str | list[str] = None, *, superuser: bool = None, single: bool = False, atomic: bool = False, update: bool = False)[源代码]¶
将函数转化为操作的形式,并试图注册 检查用户是否有权限执行操作,有权限时捕获错误 权限是列表,单个权限可只传入字符串,提供权限要求时默认不检查是否为超级用户 关键字参数进行检查或启用必要的环境
- utils.admin_utils.as_display(description=None, /, register_to=None, *, except_value=None, boolean=None, order=None)[源代码]¶
将函数转化为展示内容的形式,并试图注册(register_to只应是list,否则会出错) 可以设置输出的形式,异常时的呈现值,呈现顺序等
- utils.admin_utils.get_sign_filter(field: str, title: str = None, param_name: str = None, choices: tuple[tuple[str, str]] = None)[源代码]¶
- utils.admin_utils.has_superuser_permission(self: ModelAdmin, request: HttpRequest, obj=None)[源代码]¶
检查是否为超级用户
- utils.admin_utils.inherit_permissions(model: Model, superuser: bool = True)[源代码]¶
包装器,根据关联模型, 被包装的模型的action除四种自带权限以外,还可使用superuser和模型声明的各种权限 实现细节:为后台自动生成has_%perm%_permission权限检查函数,不覆盖已存在函数
- 参数:
model (Type[Model]) -- 后台的关联模型
superuser (bool, optional) -- 是否产生has_superuser_permission检查函数, defaults to True
- utils.admin_utils.need_all_perms(necessary_perms: str | list = None, optional_perms: str | list = None, *, superuser=False)[源代码]¶
包装器,完全取代被包装函数,通过对象的has_$perm$_permission方法检查
- utils.admin_utils.no_perm(self: ModelAdmin, request: HttpRequest, obj=None)[源代码]¶
总是返回没有权限
- utils.admin_utils.perms_check(necessary_perms: str | list = None, optional_perms: str | list = None, *, superuser=False)[源代码]¶
检查函数,必须具有全部必要权限和至少一个可选权限(如果非空),单个权限可为字符串
- utils.admin_utils.readonly_admin(admin: ModelAdmin, inline_attrs: bool = True, can_add: bool = False)[源代码]¶
将管理模型设为只读,inline_attrs决定是否设置内联模型相关属性,通常无影响
- utils.admin_utils.readonly_inline(admin: ModelAdmin, inline_attrs: bool = True, can_add: bool = False)¶
将管理模型设为只读,inline_attrs决定是否设置内联模型相关属性,通常无影响