from odoo import fields, models class McProgram(models.Model): _name = "mc.program" _description = "Program" # sequence_no drives sort order everywhere - never sort by display_label. # "Class X" sorts alphabetically between "Class I" and "Class XI". _order = "sequence_no, name" _rec_name = "name" name = fields.Char(string="Name", required=True, help='Full label, e.g. "Grade 8 CBSE".') code = fields.Char(string="Code", required=True) sequence_no = fields.Integer( string="Sequence", required=True, default=10, help="Drives sort order everywhere. Never sort by display label.", ) display_label = fields.Char( string="Display Label", required=True, help='School-facing label, e.g. "Grade 8", "Class VIII", "Year 8".', ) board = fields.Char(string="Board", help="e.g. CBSE, ICSE, IB, Cambridge, Ontario.") company_id = fields.Many2one( "res.company", string="Company", required=True, default=lambda self: self.env.company, ) _code_company_uniq = models.Constraint( "unique(code, company_id)", "A program with this code already exists for this company.", )