From dad49fa98bef685860b8dd0ffe7d51c1afecdab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 14 Jul 2015 00:04:08 +0200 Subject: [PATCH] Always test field presence in initial value when computed changed values The value could be None which is also the default value returned by dict.get. So it will fail to detect change in such case. issue4839 review23281002 --- trytond/model/modelview.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/trytond/model/modelview.py b/trytond/model/modelview.py index 333be1b54b..770b45deb1 100644 --- a/trytond/model/modelview.py +++ b/trytond/model/modelview.py @@ -689,7 +689,9 @@ class ModelView(Model): return changed for fname, value in self._values.iteritems(): field = self._fields[fname] - if (value == init_values.get(fname) + # Always test key presence in case value is None + if (fname in init_values + and value == init_values[fname] and field._type != 'one2many'): continue if field._type in ('many2one', 'one2one', 'reference'):