class Protocols(db.Model, BaseModel):
__tablename__ = "protocols"
id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False, comment="主键id")
protocolName = db.Column(db.String(255), unique=True, comment="协议名称")
parent_protocol = db.Column(db.String(255), comment="父协议")
purpose_port = db.Column(db.String(255), comment="目的端口")
需求:
数据返回,需要根据协议的父协议进行排序,父协议排列顺序:ip, udp,tcp
使用的func是原生的sqlalchemy,不是flask-sqlalchemy
objects = db.session.query(Protocols).filter_by(is_default=0).order_by(sqlalchemy.func.field(Protocols.parent_protocol, "ip", "udp", "tcp"))