From 9b4e6331c419291c6e03e14f4278ba3ee089a43e Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Thu, 8 Sep 2022 08:26:33 +0000 Subject: [PATCH] [IMP] sale: index to speed up constraint checks & open list view closes odoo/odoo#99795 Related: odoo/enterprise#31148 Signed-off-by: Fabien Pinckaers --- addons/sale/models/sale_order.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/sale/models/sale_order.py b/addons/sale/models/sale_order.py index 4072c59421f..26628012df3 100644 --- a/addons/sale/models/sale_order.py +++ b/addons/sale/models/sale_order.py @@ -10,6 +10,7 @@ from odoo.exceptions import AccessError, UserError, ValidationError from odoo.fields import Command from odoo.osv import expression from odoo.tools import float_is_zero, format_amount, format_date, html_keep_url, is_html_empty +from odoo.tools.sql import create_index from odoo.addons.payment import utils as payment_utils @@ -94,7 +95,7 @@ class SaleOrder(models.Model): "this date rather than product lead times.") date_order = fields.Datetime( string="Order Date", - required=True, readonly=False, index=True, copy=False, + required=True, readonly=False, copy=False, states=READONLY_FIELD_STATES, help="Creation date of draft/sent orders,\nConfirmation date of confirmed orders.", default=fields.Datetime.now) @@ -285,6 +286,10 @@ class SaleOrder(models.Model): show_update_pricelist = fields.Boolean( string="Has Pricelist Changed", store=False) # True if the pricelist was changed + + def init(self): + create_index(self._cr, 'sale_order_date_order_id_idx', 'sale_order', ["date_order desc", "id desc"]) + #=== COMPUTE METHODS ===# @api.depends('company_id')