用户权限关系
- 首先:django的权限系统是针对模型的权限,并且这个权限只是标识,在具体认证的时候需要自己实现,但django提供了相关函数用来判断用户是否具有某个权限。
- 这其中模型表、权限表会在执行命令
python manage.py migrate
的时候,自动为每个模型在模型表添加一条记录,,并且会为每一个模型在权限表中添加四条记录,这四条的codename
分别是add_Model
、delete_Model
、change_Model
、view_Model
分别对应增删改查、CURD操作。 - 为用户分配的单个权限会存入
用户权限表(具体看图)
这个中间表中(因为用户和权限是多对多的关系)。 - 一般采用分组的方式为分组分配权限。分组需要自己根据需求创建,分组的权限会存入
分组权限表(如图)
这个中间表中(因为分组和权限也是多对多的关系)。 - 可以为用户选择他对应的分组会存入
用户分组表(如图)
这个中间表中(因为用户和分组也是多对多的关系)。 - 如果想要查询一个用户的所有权限:
- 查询用户权限表中有的所有权限
- 查询用户所属的所有分组
- 查询用户所属分组的全部权限