from datetime import datetime from typing import Optional from sqlalchemy import Column, Integer, String, DateTime, Boolean, Text from sqlalchemy.orm import relationship from .base_model import BaseModel, CreateModel, UpdateModel, DeleteModel class RoleModel(BaseModel, CreateModel, UpdateModel, DeleteModel): """ 角色模型 对应数据库表: sys_roles """ __tablename__ = 'sys_roles' name = Column(String(50), unique=True, nullable=False, comment='角色名称') code = Column(String(50), unique=True, nullable=False, comment='角色代码') description = Column(Text, comment='角色描述') status = Column(Boolean, default=True, comment='状态') # 与用户的多对多关系 users = relationship('UserModel', secondary='sys_user_roles', back_populates='roles') # 与权限的多对多关系 permissions = relationship('PermissionModel', secondary='sys_role_permissions', back_populates='roles') def __repr__(self): return f""