summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/widgets.py')
-rw-r--r--bitbake/lib/toaster/toastergui/widgets.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/bitbake/lib/toaster/toastergui/widgets.py b/bitbake/lib/toaster/toastergui/widgets.py
index 4117031830..0f972d940e 100644
--- a/bitbake/lib/toaster/toastergui/widgets.py
+++ b/bitbake/lib/toaster/toastergui/widgets.py
@@ -239,14 +239,20 @@ class ToasterTable(TemplateView):
239 raise Exception("Search fields aren't defined in the model %s" 239 raise Exception("Search fields aren't defined in the model %s"
240 % self.queryset.model) 240 % self.queryset.model)
241 241
242 search_queries = [] 242 search_queries = None
243 for st in search_term.split(" "): 243 for st in search_term.split(" "):
244 q_map = [Q(**{field + '__icontains': st}) 244 queries = None
245 for field in self.queryset.model.search_allowed_fields] 245 for field in self.queryset.model.search_allowed_fields:
246 246 query = Q(**{field + '__icontains': st})
247 search_queries.append(reduce(operator.or_, q_map)) 247 if queries:
248 248 queries |= query
249 search_queries = reduce(operator.and_, search_queries) 249 else:
250 queries = query
251
252 if search_queries:
253 search_queries &= queries
254 else:
255 search_queries = queries
250 256
251 self.queryset = self.queryset.filter(search_queries) 257 self.queryset = self.queryset.filter(search_queries)
252 258