from django.db import models from utils.model import BaseModel # Create your models here. class Role(BaseModel): name = models.CharField(max_length=64, verbose_name="角色名称", help_text="角色名称") key = models.CharField(max_length=64, unique=True, verbose_name="权限字符", help_text="权限字符") status = models.BooleanField(default=True, verbose_name="状态", help_text="状态") class Meta: db_table = "roles" # 表名 verbose_name = "角色表" # 别名 ordering = ("-created_at",) # 排序 class RoleMenuPermission(models.Model): role = models.ForeignKey( to="Role", on_delete=models.CASCADE, db_constraint=False, verbose_name="关联角色", ) menu = models.ForeignKey( to="menu.Menu", on_delete=models.CASCADE, db_constraint=False, verbose_name="关联菜单", ) class Meta: db_table = "role_menu_permissions" verbose_name = "角色菜单权限表" class RoleMenuButtonPermission(models.Model): role = models.ForeignKey( to="Role", on_delete=models.CASCADE, db_constraint=False, verbose_name="关联角色", ) menu_button = models.ForeignKey( to="menu_button.MenuButton", on_delete=models.CASCADE, db_constraint=False, verbose_name="关联菜单按钮", ) # todo 暂存后期再做功能 DATA_SCOPE_CHOICES = [ (0, "全部数据"), (1, "本级数据"), (2, "本级及子级数据"), ] data_scope = models.IntegerField(choices=DATA_SCOPE_CHOICES, default=0, verbose_name="数据范围") class Meta: db_table = "role_menu_button_permissions" verbose_name = "角色菜单按钮权限表"