permission_model.py 987 B

1234567891011121314151617181920212223242526
  1. from datetime import datetime
  2. from typing import Optional
  3. from sqlalchemy import Column, Integer, String, DateTime, Boolean, Text
  4. from sqlalchemy.orm import relationship
  5. from .base_model import BaseModel, CreateModel, UpdateModel, DeleteModel
  6. class PermissionModel(BaseModel, CreateModel, UpdateModel, DeleteModel):
  7. """
  8. 权限模型
  9. 对应数据库表: sys_permissions
  10. """
  11. __tablename__ = 'sys_permissions'
  12. name = Column(String(50), unique=True, nullable=False, comment='权限名称')
  13. code = Column(String(50), unique=True, nullable=False, comment='权限代码')
  14. description = Column(Text, comment='权限描述')
  15. status = Column(Boolean, default=True, comment='状态')
  16. # 与角色的多对多关系
  17. roles = relationship('RoleModel',
  18. secondary='sys_role_permissions',
  19. back_populates='permissions')
  20. def __repr__(self):
  21. return f"<Permission(id={self.id}, name={self.name})>"