From d1c67443ff1af65d2805edba4b288ea714fffaa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 22 Apr 2023 18:31:30 +0200 Subject: [PATCH] Do not override deleted record instances by related records (grafted from 5b67535bb4cdf07df76c15e6fb4b425f44f4ad23) --HG-- branch : 6.0 --- trytond/trytond/model/modelsql.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/trytond/trytond/model/modelsql.py b/trytond/trytond/model/modelsql.py index f843dc0f59..2fdb4c5028 100644 --- a/trytond/trytond/model/modelsql.py +++ b/trytond/trytond/model/modelsql.py @@ -1150,9 +1150,10 @@ class ModelSQL(ModelStorage): if (not hasattr(Model, 'search') or not hasattr(Model, 'write')): continue - records = get_related_records(Model, field_name, sub_ids) - if records: - Model.write(records, { + related_records = get_related_records( + Model, field_name, sub_ids) + if related_records: + Model.write(related_records, { field_name: None, }) @@ -1160,9 +1161,10 @@ class ModelSQL(ModelStorage): if (not hasattr(Model, 'search') or not hasattr(Model, 'delete')): continue - records = get_related_records(Model, field_name, sub_ids) - if records: - Model.delete(records) + related_records = get_related_records( + Model, field_name, sub_ids) + if related_records: + Model.delete(related_records) for Model, field_name in foreign_keys_tocheck: with Transaction().set_context(