django - 检查用户是否具有列表权限并将结果转换为字典的有效方法
问题描述
我希望能够做到以下几点:
- 传入权限列表,例如:
['can_change_xxx' , 'can_add_xxx',...]
- 该函数会将其转换为
{'can_change_xxx':True,'can_add_xxx':False,...}
尽可能高效。
这样做的原因是创建一个权限字段序列化程序,借此我会将布尔值传递给前端以进行一些条件渲染。
解决方案
您可以像这样使用 dict 理解:
def get_perm_dict(user, perm_list):
return { p: user.has_perm(p) for p in perm_list}
这是一种生成字典的快速方法,但我不确定 django 是否提供了一种更有效的方法来一次获取所有用户权限,而不是单独检查每个用户权限。
推荐阅读
- prestashop-1.7 - 如何更改 PrestaShop 模块的文件夹名称?
- elasticsearch - DynamoDB 和 ElasticSearch - 表设计方法
- iframe - 拒绝在框架中显示“”,因为它与 Looker 将“X-Frame-Options”设置为“sameorigin”
- swift - 我无法快速安装 facebook SDK
- python-3.x - 如何获取列表中每个项目的计数
- java - 如何编写 if 语句以询问饮酒年龄
- c# - SerializeableAttribute 在哪个程序集中?
- javascript - 如何基于另一个 Observable 重置 RXJS 扫描算子
- javascript - 在@compnent动画Angular 7中使用类变量
- php - 从具有相同文档结构的多个集合中查询(查找多个)文档(MongoDB 和 PHP)