from sqlalchemy.orm import InstrumentedAttribute from sqlalchemy import ColumnElement def fuzzy_match(attr: InstrumentedAttribute[str], q: str) -> ColumnElement: q_list = q.split() qq = "%".join(q_list) return attr.ilike(f"%{qq}%")