diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index 66de3a8b1e..45e30fd254 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -447,7 +447,8 @@ class O2MField(CharField): context=self.context, parent_datetime_field=self.attrs.get('datetime_field')) mod.signal_connect(mod, 'model-changed', self._model_changed) - mod.model_deleted.extend(model.value[self.name].models) + mod.model_deleted.extend(x for x in model.value[self.name].models + if x.id > 0) mod.model_deleted.extend(model.value[self.name].model_deleted) mod.model_removed.extend(model.value[self.name].model_removed) model.value[self.name] = mod @@ -487,7 +488,8 @@ class O2MField(CharField): parent_datetime_field=self.attrs.get('datetime_field')) mod.signal_connect(model.value[self.name], 'model-changed', self._model_changed) - mod.model_deleted.extend(model.value[self.name].models) + mod.model_deleted.extend(x for x in model.value[self.name].models + if x.id > 0) mod.model_deleted.extend(model.value[self.name].model_deleted) mod.model_removed.extend(model.value[self.name].model_removed) model.value[self.name] = mod