fooder-api/fooder/repository/expression.py

8 lines
246 B
Python

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}%")