# -*- coding: utf-8 -*- from odoo import fields, models, api class AcademicExam(models.Model): _name = 'academic.exam' _description = 'Exame de Acesso' _order = 'date desc' name = fields.Char(string="Identificação do Exame", required=True, help="Ex: Exame de Informática - Sala 13") date = fields.Datetime(string="Data e Hora", required=True) room = fields.Char(string="Sala/Local", required=True) capacity = fields.Integer(string="Capacidade Máxima", default=30) # Relacionamento com o curso (opcional, se o exame for por curso) course_id = fields.Many2one('academic.course', string="Curso Relacionado") # Lista de candidatos inscritos neste exame específico applicant_ids = fields.One2many( 'academic.applicant', 'exam_id', string="Candidatos Inscritos" ) # Campo calculado para saber quantos já estão inscritos applicant_count = fields.Integer( string="Total Inscritos", compute='_compute_applicant_count', store=True ) @api.depends('applicant_ids') def _compute_applicant_count(self): for record in self: record.applicant_count = len(record.applicant_ids)