Я хочу определить значение поля One2many для сотрудников, т. Е. В период нет наложения для сотрудников , это похоже на праздники, но здесь для нескольких сотрудников, я пробовал этот код, но он делает не работает:
Заранее спасибо.
В файле Python:
class HrMission(models.Model):
_name = 'hr.employee.mission'
_description = 'Mission object'
_inherit = 'mail.thread'
line_mission = fields.One2many('line.employee.mission','line_mission', string='Employee', help="Employee sent on mission",
copy=True, auto_join=True)
class LineEmployee(models.Model):
_name = 'line.employee.mission'
_description = 'Lignes des employés pour les mission'
line_mission = fields.Many2one('hr.employee.mission', string='Line mission Reference', required=True, ondelete='cascade', index=True, copy=False)
employee_id = fields.Many2one('hr.employee', string='Employee', help="Employee sent on mission",
required=True)
Моя функция для контрольной даты:
@api.constrains('mission_start_date', 'mission_end_date')
def _check_date(self):
for mission in self:
employee = self.env['line.employee.mission'].search_count([('employee_id', '=', self.ids)])
domain = [
('mission_start_date', '<=', mission.mission_end_date),
('mission_end_date', '>=', mission.mission_start_date),
('id', '!=', mission.id),
]
nmissions = self.search_count(domain)
if nmissions and employee:
raise exceptions.ValidationError('Vous ne pouvez pas avoir 2 missions qui se chevauchent le même jour!')