我想检索用户的所有权限作为预授权id列表,但:

user.get_all_permissions()

给我权限名称的列表.怎么做?

推荐答案

关键是获取权限对象,如下所示:

from django.contrib.auth.models import Permission
permissions = Permission.objects.filter(user=user)

在那里,您可以访问id属性,如下所示:

permissions[0].id

如果您想要列表(id, permission_name),请执行以下操作:

perm_tuple = [(x.id, x.name) for x in Permission.objects.filter(user=user)]

希望能有所帮助!

Django相关问答推荐

覆盖保存以创建范围的多个对象()

如何删除Docker上的django应用程序?

Django Admin:在一个部分中同时显示多个应用程序?

按下按钮刷新在html文件中显示的变量

如何创建复杂的查询?| ChartJS 和 Django

一次请求中更新整个Django模型

如何在Django模板中有条件地传递值给with变量?

无法使用 django-filters 进行过滤

在 Serverless + Lambda + API Gateway HTTP API 上运行的 Django 应用程序正在重写链接以使用默认前缀

Django 获取用户创建的对象,这些用户属于用户列表

从一个组中获取所有用户 - Django

Django rest框架覆盖ViewSet中的page_size

__init__() 得到了一个意外的关键字参数user

settings.DATABASES 配置不正确使用 django 1.4 执行 syncdb 时出错

如何使用 Requests 库执行 HTTP DELETE 请求

保存前向 ModelForm 对象添加数据

如何过滤(或替换)在 UTF-8 中占用超过 3 个字节的 unicode 字符?

暂时禁用 Django 缓存

Django admin:使字段在添加中可编辑但不可编辑

在 Django 中使用 select_related Select 特定字段