From e10f592b73be5ee937fb8d0c2c96c6c0140843d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Val=C3=A9ry?= Date: Wed, 11 Aug 2021 18:02:25 +0200 Subject: [PATCH] Do not remove record from the looped list when setting list ids issue10638 review358561002 --- tryton/gui/window/view_form/model/field.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index bd50f53671..c63a43c3df 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -681,9 +681,9 @@ class O2MField(Field): group.load_fields(fields) if mode == 'list ids': - for old_record in group: - if old_record.id not in value: - group.remove(old_record, remove=True, signal=False) + records_to_remove = [r for r in group if r.id not in value] + for record_to_remove in records_to_remove: + group.remove(record_to_remove, remove=True, signal=False) group.load(value, modified=modified or default) else: for vals in value: