[FIX] (purchase_)stock,mrp: add indexes for orderpoint_id
Because the "Replenishment" can unlink a lot (thousand of `stock.warehouse.orderpoint`). and psql needs to check every Many2one `orderpoint_id` constraint and without index it takes too much time. opw-2637321 closes odoo/odoo#76116 X-original-commit: 864d90a064f093bd6ba24d8464ee491a443a320e Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com> Signed-off-by: Rémy Voet <ryv-odoo@users.noreply.github.com>
This commit is contained in:
@@ -228,7 +228,7 @@ class MrpProduction(models.Model):
|
||||
'procurement.group', 'Procurement Group',
|
||||
copy=False)
|
||||
product_description_variants = fields.Char('Custom Description')
|
||||
orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Orderpoint')
|
||||
orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Orderpoint', index=True)
|
||||
propagate_cancel = fields.Boolean(
|
||||
'Propagate cancel and split',
|
||||
help='If checked, when the previous move of the move (which was generated by a next procurement) is cancelled or split, the move generated by this move will too')
|
||||
|
||||
@@ -277,7 +277,7 @@ class PurchaseOrderLine(models.Model):
|
||||
qty_received_method = fields.Selection(selection_add=[('stock_moves', 'Stock Moves')])
|
||||
|
||||
move_ids = fields.One2many('stock.move', 'purchase_line_id', string='Reservation', readonly=True, copy=False)
|
||||
orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Orderpoint', copy=False)
|
||||
orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Orderpoint', copy=False, index=True)
|
||||
move_dest_ids = fields.One2many('stock.move', 'created_purchase_line_id', 'Downstream Moves')
|
||||
product_description_variants = fields.Char('Custom Description')
|
||||
propagate_cancel = fields.Boolean('Propagate cancellation', default=True)
|
||||
|
||||
@@ -167,7 +167,7 @@ class StockMove(models.Model):
|
||||
display_assign_serial = fields.Boolean(compute='_compute_display_assign_serial')
|
||||
next_serial = fields.Char('First SN')
|
||||
next_serial_count = fields.Integer('Number of SN')
|
||||
orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Original Reordering Rule', check_company=True)
|
||||
orderpoint_id = fields.Many2one('stock.warehouse.orderpoint', 'Original Reordering Rule', check_company=True, index=True)
|
||||
forecast_availability = fields.Float('Forecast Availability', compute='_compute_forecast_information', digits='Product Unit of Measure', compute_sudo=True)
|
||||
forecast_expected_date = fields.Datetime('Forecasted Expected date', compute='_compute_forecast_information', compute_sudo=True)
|
||||
lot_ids = fields.Many2many('stock.production.lot', compute='_compute_lot_ids', inverse='_set_lot_ids', string='Serial Numbers', readonly=False)
|
||||
|
||||
Reference in New Issue
Block a user