fuzzy search is now case insensitive

This commit is contained in:
Tom Villette
2023-10-19 16:27:26 +02:00
parent 67025158af
commit d96bde6214

View File

@@ -57,7 +57,7 @@ async def sde_types_search(query: List[Dict[Literal["id", "name", "name_i", "mar
qitems = db.query(models_sde.SDEType) qitems = db.query(models_sde.SDEType)
for k in q.keys(): for k in q.keys():
if k.endswith("_i"): if k.endswith("_i"):
qitems = qitems.filter(getattr(models_sde.SDEType, k[:-2]).contains(q[k])) qitems = qitems.filter(getattr(models_sde.SDEType, k[:-2]).ilike(f"%{q[k]}%")) # change to icontains when sqlmodel start using sqlalchemy > 2.0
else: else:
qitems = qitems.filter(getattr(models_sde.SDEType, k) == q[k]) qitems = qitems.filter(getattr(models_sde.SDEType, k) == q[k])
items.extend(qitems.all()) items.extend(qitems.all())