这里仍然简单的定义几个model当练手.
用户按两个维度划分: 角色、部门.
角色主要控制用户的操作权限和一些设定的数据权限,比如,是否可以操作对象,是否有线上数据权限等.
部门主要控制用户的可见资源,比如,是否可以操作哪个对象.
部门做扁平化管理,不涉及到子部门概念.
部门与用户关联时,分负责人和普通用户,负责人会拥有更多的权限,同时也可以管理部门下用户.
示例: 一个角色开发工程师、一个部门叫系统开发部门、一个服务叫资源管理平台,属于系统开发部门、资源管理平台部署在两台机器上.
张三属于系统开发部门,然后角色是开发工程师,我们如果设置了开发工程师可以增删机器,那么张三就可以控制资源管理平台的机器.
如果王二属于其它部门,同时也是开发工程师角色,他可以增删自己部门下服务的机器,但是不能管理其它部门的机器.
account/models.py
account/models.py:
这里就是正常的定义model,唯一值得说的就是外键的使用.
现在满大街都在说不要用外键,很多人都在跟风一样说.
但是用不用外键都是根据你实际情况决定的.
很多系统都是那种并发量很小的,尤其是一些内部管理系统.
这种系统为了简单编程和逻辑用外键是必须的,能用为什么不用?
还有一点就是我每个model都定义了db_table,因为django默认生成的实在是太丑了.