From f1534187f4d8a08a1ab7894b0578304535998a61 Mon Sep 17 00:00:00 2001 From: Matt Taylor Date: Mon, 21 Oct 2024 15:18:34 -0600 Subject: [PATCH] [IMP] mrp_multi_level: mrp cleanup performance - Index the planned_order_id column on mrp.production model - Delete from mrp.planned.order before deleting from mrp.inventory --- mrp_multi_level/models/mrp_production.py | 5 ++++- mrp_multi_level/wizards/mrp_multi_level.py | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mrp_multi_level/models/mrp_production.py b/mrp_multi_level/models/mrp_production.py index 005d9ad09..97128d226 100644 --- a/mrp_multi_level/models/mrp_production.py +++ b/mrp_multi_level/models/mrp_production.py @@ -9,4 +9,7 @@ class MrpProduction(models.Model): _inherit = "mrp.production" - planned_order_id = fields.Many2one(comodel_name="mrp.planned.order") + planned_order_id = fields.Many2one( + comodel_name="mrp.planned.order", + index=True, + ) diff --git a/mrp_multi_level/wizards/mrp_multi_level.py b/mrp_multi_level/wizards/mrp_multi_level.py index 6d4e619e2..b13186717 100644 --- a/mrp_multi_level/wizards/mrp_multi_level.py +++ b/mrp_multi_level/wizards/mrp_multi_level.py @@ -306,9 +306,10 @@ class MultiLevelMrp(models.TransientModel): domain += [("mrp_area_id", "in", mrp_areas.ids)] with mute_logger("odoo.models.unlink"): self.env["mrp.move"].search(domain).unlink() + self.env["mrp.planned.order"].search( + domain + [("fixed", "=", False)] + ).unlink() self.env["mrp.inventory"].search(domain).unlink() - domain += [("fixed", "=", False)] - self.env["mrp.planned.order"].search(domain).unlink() logger.info("End MRP Cleanup") return True