From 2345fc885dfe1604f1be40a2421cfdab40428833 Mon Sep 17 00:00:00 2001 From: j Date: Fri, 26 Feb 2016 18:06:45 +0530 Subject: [PATCH] avoid extra condition containing all items --- oml/item/api.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/oml/item/api.py b/oml/item/api.py index cec68bb..d937098 100644 --- a/oml/item/api.py +++ b/oml/item/api.py @@ -52,10 +52,14 @@ def find(data): g = state.cache.get(key) if g is None: state.cache.lock(key) - items = q['qs'].options(load_only('id')) + if data.get('query', {}).get('conditions'): + items = q['qs'].options(load_only('id')) + else: + items = None qs = models.Find.query.filter_by(key=q['group']) - if items.first(): - qs = qs.filter(models.Find.item_id.in_(items)) + if items is None or items.first(): + if items is not None: + qs = qs.filter(models.Find.item_id.in_(items)) values = list(qs.values('value', 'findvalue', 'sortvalue')) for f in values: value = f[0]