diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py index 3172caac1f4..8f98573c413 100644 --- a/openerp/tools/yaml_import.py +++ b/openerp/tools/yaml_import.py @@ -449,10 +449,13 @@ class YamlInterpreter(object): args = map(lambda x: eval(x, ctx), match.group(2).split(',')) result = getattr(model, match.group(1))(self.cr, SUPERUSER_ID, [], *args) for key, val in (result or {}).get('value', {}).items(): - assert key in fg, "The returning field '%s' from your on_change call '%s' does not exist either on the object '%s', either in the view '%s' used for the creation" % (key, match.group(1), model._name, view_info['name']) - record_dict[key] = process_val(key, val) - #if (key in fields) and record_dict[key] == process_val(key, val): - # print '*** You can remove these lines:', key, val + if key in fg: + record_dict[key] = process_val(key, val) + else: + _logger.warning("The returning field '%s' from your on_change call '%s'" + " does not exist either on the object '%s', either in" + " the view '%s'", + key, match.group(1), model._name, view_info['name']) else: nodes = list(el) + nodes else: