У меня есть это новое поле для модели статуса праздника hr
class CodeLeaveType(models.Model):
_inherit = 'hr.holidays.status'
code = fields.Char('Código para regla salarial', required=True)
@api.one
@api.onchange('code')
def _check_code(self):
pattern = "^[A-Z0-9]{3,6}$"
if re.match(pattern, self.code) == None:
self.code = ""
return {
'warning': {'title': 'Error',
'message': 'Formato de código para regla salarial no valido, debe incluir términos alfanúmeros en mayúsculas sin espacios, longitud máxima de caracteres 6', }
}
Но, когда я пытаюсь создать новый статус праздника, получаю эту ошибку:
Затем, когда я закрываю ошибку, мой метод onchange не работает нормально Я получаю эту ошибку.
Я не понимаю, пожалуйста, помогите мне.Может быть, это регулярное выражение?
Мне нужен код только в верхнем регистре или цифры длиной от 3 до 6
РЕДАКТИРОВАННЫЕ
Я изменяю регулярное выражение на
class CodeLeaveType(models.Model):
_inherit = 'hr.holidays.status'
code = fields.Char('Código para regla salarial', required=True)
@api.multi
@api.onchange('code')
def _check_code(self):
if self.code:
pattern = "^[A-Z0-9]{3,6}$"
if re.match(pattern, self.code) == None:
self.code = ""
return {
'warning': {'title': 'Error',
'message': 'Formato de código no valido, debe incluir términos alfanúmeros y guion (si aplica), longitud 3 a 6 caracteres', }
}
И метод работает нормально !!!в чем причина этой ошибки?