12345678910111213141516171819202122232425262728293031 |
- 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"<Role(id={self.id}, name={self.name})>"
|