Django框架之RBAC+ContentType

RBAC(基于角色的权限访问控制), 在django框架中已经帮我们实现好了。

一、基于角色的权限访问控制的六张表

二、content_type表

# 给Django中的所有模块中的所有表进行编号存储到content_type表中
# 应用一:权限表的权限是操作表的,所有在权限表中有一个content_type表的外键,标识该权限具体操作的是哪张表
# 应用二:价格策略

"""
Course:
name、type、days、price、vip_type
基础	免费课  7		0
中级	学位课	 180	69
究极	会员课	 360    	 至尊会员


Course:
name、type、days、content_type_id
基础	免费课  7	  null
中级	学位课	 180   1
究极	会员课	 360   2

app01_course_1
id、price

app01_course_2
id vip_type

content_type表(Django提供)
id、app_label、model
1	app01	 course_1
2	app01	 course_2
"""

content_type表作用: 作为两张表之间的关联第三张表,标识该权限具体操作的是哪张表

  1. 应用一:权限表的权限是操作表的,所有在权限表中有一个content_type表的外键,标识改权限具有操作哪一张表的权限
  2. 应用二:价格策略
  3. 缺点:增加了查询效率
原文地址:https://www.cnblogs.com/XuChengNotes/p/11938832.html