From f4a417b12404eef2aec14be863c1a0fe732cee91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A0n=20Todorovich?= Date: Wed, 27 Oct 2021 17:20:30 +0000 Subject: [PATCH] [IMP] delivery: use the orm cache on _remove_delivery_line closes odoo/odoo#79110 Signed-off-by: Arnold Moyaux --- addons/delivery/models/sale_order.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/addons/delivery/models/sale_order.py b/addons/delivery/models/sale_order.py index 666682220e1..673765d4219 100644 --- a/addons/delivery/models/sale_order.py +++ b/addons/delivery/models/sale_order.py @@ -38,7 +38,8 @@ class SaleOrder(models.Model): self.recompute_delivery_price = True def _remove_delivery_line(self): - delivery_lines = self.env['sale.order.line'].search([('order_id', 'in', self.ids), ('is_delivery', '=', True)]) + """Remove delivery products from the sales orders""" + delivery_lines = self.order_line.filtered("is_delivery") if not delivery_lines: return to_delete = delivery_lines.filtered(lambda x: x.qty_invoiced == 0) @@ -50,10 +51,7 @@ class SaleOrder(models.Model): to_delete.unlink() def set_delivery_line(self, carrier, amount): - - # Remove delivery products from the sales order self._remove_delivery_line() - for order in self: order.carrier_id = carrier.id order._create_delivery_line(carrier, amount)