[英]Odoo TypeError: expected string or buffer
我有這個新的小時假期狀態模型字段
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之間的數字的代碼
EDITED
我通過更改正則表達式
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', }
}
和該方法正常工作! 此錯誤的原因是什么?
刪除@api.multi
代碼,因為您一次僅與一條記錄進行交互。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.