2021-02-25 16:17:17 +00:00
|
|
|
from django.db.models import IntegerField, BooleanField, CharField, TextField, ManyToManyField
|
|
|
|
|
|
|
|
from apps.op_drf.models import CoreModel
|
2021-02-22 14:45:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
class Role(CoreModel):
|
|
|
|
PURVIEW_CHOICES = (
|
|
|
|
(0, "全部数据权限"),
|
|
|
|
(1, "自定数据权限"),
|
|
|
|
(2, "本部门数据权限"),
|
|
|
|
(3, "本部门及以下数据权限"),
|
|
|
|
(4, "仅本人数据权限"),
|
|
|
|
)
|
2021-02-25 16:17:17 +00:00
|
|
|
name = CharField(max_length=64, verbose_name="角色名称")
|
|
|
|
roleKey = CharField(max_length=64, verbose_name="权限字符")
|
|
|
|
orderNum = IntegerField(verbose_name="角色顺序")
|
|
|
|
status = BooleanField(default=False, verbose_name="角色状态")
|
|
|
|
admin = BooleanField(default=False, verbose_name="是否为admin")
|
|
|
|
purview = IntegerField(default=0, choices=PURVIEW_CHOICES, verbose_name="权限范围")
|
|
|
|
remark = TextField(verbose_name="备注", help_text="备注", null=True)
|
|
|
|
dept = ManyToManyField(to='Dept', verbose_name='数据权限-关联部门')
|
|
|
|
menu = ManyToManyField(to='Menu', verbose_name='关联菜单权限')
|
2021-02-22 14:45:01 +00:00
|
|
|
|
|
|
|
class Meta:
|
|
|
|
verbose_name = '角色管理'
|
|
|
|
verbose_name_plural = verbose_name
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return f"{self.name}"
|