# !/usr/bin/env python3 # -*- encoding : utf-8 -*- # @Filename : menu.py # @Software : VSCode # @Datetime : 2021/11/08 21:50:31 # @Author : leo liu # @Version : 1.0 # @Description : 前端菜单 """ 菜单模型 """ from datetime import datetime from sqlalchemy import Column, Integer, VARCHAR, ForeignKey, Table, DateTime from sqlalchemy.orm import relationship from sqlalchemy.sql import func from db.base_class import Base, gen_uuid role_menu = Table( "nlt_rolemenu", Base.metadata, Column("id", Integer, unique=True, index=True, primary_key=True, autoincrement=True, comment="ID"), Column("role_id", VARCHAR(32), ForeignKey("nlt_role.role_id"), nullable=False, primary_key=True, comment="角色id"), Column("menu_id", VARCHAR(32), ForeignKey("nlt_menu.menu_id"), nullable=False, primary_key=True, comment="菜单id"), Column("create_time", DateTime, default=datetime.now, server_default=func.now(), comment="创建时间") ) class Menu(Base): """ 菜单表 """ __tablename__ = "nlt_menu" menu_id = Column(VARCHAR(32), default=gen_uuid, index=True, primary_key=True, unique=True, comment="菜单id") path = Column(VARCHAR(64), unique=True, nullable=False, comment="菜单地址") name = Column(VARCHAR(32), unique=True, nullable=False, comment="菜单名称") super_menu = Column(VARCHAR(64), nullable=True, comment="上级菜单id") role = relationship("Role", backref="menus", secondary=role_menu) __table_args__ = ({'comment': '菜单表'})