from odoo import models, fields class EncoachLearningObjective(models.Model): _name = 'encoach.learning.objective' _description = 'Taxonomy Learning Objective' _order = 'sequence, name' name = fields.Char(required=True, index=True) topic_id = fields.Many2one('encoach.topic', required=True, ondelete='cascade', index=True) description = fields.Text() cefr_level = fields.Selection([ ('pre_a1', 'Pre-A1'), ('a1', 'A1'), ('a2', 'A2'), ('b1', 'B1'), ('b2', 'B2'), ('c1', 'C1'), ('c2', 'C2'), ]) sequence = fields.Integer(default=10) active = fields.Boolean(default=True) def to_api_dict(self): self.ensure_one() return { 'id': self.id, 'name': self.name, 'topic_id': self.topic_id.id, 'topic_name': self.topic_id.name, 'description': self.description or '', 'cefr_level': self.cefr_level or '', 'active': self.active, }