from odoo import api, fields, models class EventTrack(models.Model): _inherit = "event.track" sequence_id = fields.Many2one( "event.sequence", "Sequence", group_expand="_read_group_stage_ids" ) sequence = fields.Integer("Sequence") # for sorting @api.model_create_multi def create(self, vals_list): if vals_list and "sequence" not in vals_list[0]: vals_list[0]["sequence"] = 999 tracks = super().create(vals_list) return tracks @api.model def _read_group_stage_ids(self, stages, domain, order): event_id = None for d in domain: if d[0] == "event_id" and d[1] == "=" and d[2]: event_id = d[2] if event_id: event = self.env["event.event"].browse(event_id) return stages.search([], order="sequence", limit=event.sequence_number) return stages.search([], order="sequence")