From dfa79b36b64b697c44e0b7dc7edba4905af4391b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 10 Aug 2023 15:05:23 +0200 Subject: [PATCH] Simplify foreign key search in ModelSQL delete --- trytond/trytond/model/modelsql.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/trytond/trytond/model/modelsql.py b/trytond/trytond/model/modelsql.py index 3a7bba97ed..aef7fdc795 100644 --- a/trytond/trytond/model/modelsql.py +++ b/trytond/trytond/model/modelsql.py @@ -1438,9 +1438,8 @@ class ModelSQL(ModelStorage): foreign_keys_toupdate = [] foreign_keys_todelete = [] for _, model in pool.iterobject(): - if callable(getattr(model, 'table_query', None)): - continue - if not issubclass(model, ModelStorage): + if (not issubclass(model, ModelStorage) + or callable(getattr(model, 'table_query', None))): continue for field_name, field in model._fields.items(): if (isinstance(field, fields.Many2One) @@ -1480,9 +1479,6 @@ class ModelSQL(ModelStorage): red_sql = reduce_ids(table.id, sub_ids) for Model, field_name in foreign_keys_toupdate: - if (not hasattr(Model, 'search') - or not hasattr(Model, 'write')): - continue related_records = get_related_records( Model, field_name, sub_ids) if related_records: @@ -1491,9 +1487,6 @@ class ModelSQL(ModelStorage): }) for Model, field_name in foreign_keys_todelete: - if (not hasattr(Model, 'search') - or not hasattr(Model, 'delete')): - continue related_records = get_related_records( Model, field_name, sub_ids) if related_records: