diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/widgets.py')
-rw-r--r-- | bitbake/lib/toaster/toastergui/widgets.py | 20 |
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 | ||