from sqlalchemy import Column, Integer, String from domain.models.base_model import UpdateModelBase, OrderModelBase class SysMenuModel(UpdateModelBase, OrderModelBase): """ 菜单权限表 """ __tablename__ = "sys_menu" menu_name = Column(String(50), nullable=False, default="", comment="菜单名称") parent_id = Column(Integer, default=0, comment="父菜单ID") order_num = Column(Integer, nullable=True, default=0, comment="字典排序") path = Column(String(200), nullable=True, default="", comment="路由地址") component = Column(String(255), nullable=True, default=None, comment="组件路径") query = Column(String(255), nullable=True, default=None, comment="路由参数") route_name = Column(String(50), nullable=True, default="", comment="路由名称") is_frame = Column( Integer, nullable=False, default=1, comment="是否为外链(0是 1否)" ) is_cache = Column( Integer, nullable=False, default=0, comment="是否缓存(0缓存 1不缓存)" ) menu_type = Column( String(1), nullable=True, default="", comment="菜单类型(C目录 M菜单 F按钮)" ) hide = Column(Integer, nullable=False, default=0, comment="菜单状态(0显示 1隐藏)") status = Column( Integer, nullable=False, default=0, comment="菜单状态(0正常 1停用)" ) perms = Column(String(100), nullable=True, default=None, comment="权限标识") icon = Column(String(100), nullable=True, default="#", comment="菜单图标") btn_class = Column(String(200), nullable=True, comment="按钮样式") btn_script = Column(String(200), nullable=True, comment="按钮脚本") remark = Column(String(500), nullable=True, default="", comment="备注")