设置权限

简介: 【6月更文挑战第16天】设置权限。

User模型与Permission模型之间是多对多关系,可以从关系的两端为用户设置权限。
通过User对象设置权限,示例代码如下。

from django.contrib.auth.models import Permission
admins=Permission.objects.filter(codename__endswith='permission') #获得权限
user=User.objects.get(username='testuser')
user.user_permissions.set(admins) #设置权限
for p in user.user_permissions.all(): #查看权限
... print(p.codename,p.name)
...
add_permission Can add permission
change_permission Can change permission
delete_permission Can delete permission
view_permission Can view permission
创建新权限,并授权给用户,示例代码如下。
from test.models import person
from django.contrib.contenttypes.models import ContentType
content_type_id=ContentType.objects.get_for_model(person)
p=Permission.objects.create(codename='can_analyse_person',
name='能分析person数据',content_type=content_type_id)
user.user_permissions.add(p) #添加权限
创建新权限,并授权给用户,示例代码如下。
from test.models import person
from django.contrib.contenttypes.models import ContentType
content_type_id=ContentType.objects.get_for_model(person)
p=Permission.objects.create(codename='can_analyse_person',
name='能分析person数据',content_type=content_type_id)
user.user_permissions.add(p) #添加权限

相关文章
|
6月前
|
JSON 数据格式
|
7月前
|
SQL 关系型数据库 MySQL
|
7月前
|
存储 安全 Android开发
Android系统 AppOps默认授予应用相应的权限
Android系统 AppOps默认授予应用相应的权限
242 0
|
资源调度 前端开发 数据库
权限 | 前端控制权限
啊,我们经常做权限控制,控制菜单,控制按钮功能等,但是在一些特殊情况下不能够由后端来做权限控制,那就只能前端来做啦。
102 0
|
UED
路由权限登录后还保留上一个登录角色的权限,刷新一下就好了的解决方案
路由权限登录后还保留上一个登录角色的权限,刷新一下就好了的解决方案
103 0
|
安全 Linux
6.4 文件与目录的默认权限与隐藏权限
6.4 文件与目录的默认权限与隐藏权限
91 0
|
SQL XML 缓存
修改若依的数据权限功能
修改若依的数据权限功能
1171 0
|
缓存 网络协议 安全
权限提升
权限提升
218 0
权限提升
|
监控 安全 NoSQL
默认权限 umask 和特殊权限 | 学习笔记
快速学习 默认权限 umask 和特殊权限.