创建时装饰器会直接触发,使用装饰器时可以先写一个判断
@api.onchange('name')
def is_name(self):
if self.name:
name = re.compile('^[0-9]+$')
res = re.search(name, self.name)
if not res:
raise ValidationError('请输入数字')
if len(self.name) < 4:
raise ValidationError('请输入四位数字')
else:
pass
上面这段代码就是name为空时不执行装饰器的逻辑