diff --git a/trytond/trytond/model/match.py b/trytond/trytond/model/match.py index 611e0133d3..4b168828f5 100644 --- a/trytond/trytond/model/match.py +++ b/trytond/trytond/model/match.py @@ -9,12 +9,16 @@ class MatchMixin(object): '''Match on pattern pattern is a dictionary with model field as key and matching value as value''' - for field, pattern_value in pattern.items(): - value = getattr(self, field) + for field_name, pattern_value in pattern.items(): + value = getattr(self, field_name) if not match_none and value is None: continue - if self._fields[field]._type == 'many2one': + field = self._fields[field_name] + if field._type == 'many2one': value = value.id if value else value + elif field._type == 'boolean': + value = bool(value) + pattern_value = bool(pattern_value) if value != pattern_value: return False return True