from tortoise import fields, models class UserType: SUPER_ADMIN = 100, '超级管理员' ADMIN = 20, '管理员' USER = 0, '普通用户' class Role(models.Model): id = fields.IntField(pk=True,) name = fields.CharField(max_length=100, description='角色名称') grade = fields.IntField(null=True,choices=UserType, default=0, description='角色等级') masks = fields.JSONField(description='柜子权限') portion = fields.JSONField(description='中控权限') comment = fields.TextField(null=True, description='角色描述') created_at = fields.DatetimeField(auto_now_add=True) updated_at = fields.DatetimeField(auto_now=True) class Meta: table = 'roles' table_description = '角色表' def __str__(self): return 'Role(id={0.id} name={0.name})'.format(self) class ModuleMenu(models.Model): id = fields.IntField(pk=True, description='pk') name = fields.CharField(max_length=36, description='模块名称') rank = fields.IntField(description='排序') options = fields.JSONField(description='选项') alias = fields.JSONField(null=True, description='别名', default="[]") class Meta: table = 'module_menu' table_description = '模块菜单表'