From 67025158af9697b3d935303e028d8f91cb448565 Mon Sep 17 00:00:00 2001 From: Kaladaran Date: Wed, 18 Oct 2023 14:11:08 +0200 Subject: [PATCH] search queries are now selective instead of additive --- eveal/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eveal/main.py b/eveal/main.py index a3ad207..07f61a4 100644 --- a/eveal/main.py +++ b/eveal/main.py @@ -54,11 +54,13 @@ async def sde_types(sde_type: int | str, db: Session = Depends(get_session)) -> async def sde_types_search(query: List[Dict[Literal["id", "name", "name_i", "marketgroup_id", "metagroup_id"], int | str]], db: Session = Depends(get_session)) -> List[models_sde.SDEType]: items = [] for q in query: + qitems = db.query(models_sde.SDEType) for k in q.keys(): if k.endswith("_i"): - items.extend(db.query(models_sde.SDEType).filter(getattr(models_sde.SDEType, k[:-2]).contains(q[k])).all()) + qitems = qitems.filter(getattr(models_sde.SDEType, k[:-2]).contains(q[k])) else: - items.extend(db.query(models_sde.SDEType).filter(getattr(models_sde.SDEType, k) == q[k]).all()) + qitems = qitems.filter(getattr(models_sde.SDEType, k) == q[k]) + items.extend(qitems.all()) return items