代码之家  ›  专栏  ›  技术社区  ›  Chaban33

值为0时触发的用户错误

  •  1
  • Chaban33  · 技术社区  · 6 年前

    我有个用户错误

    advance_payment_percent = fields.Integer(string='Advance Payment', default=50)
    
    
     if not self.advance_payment_percent:
                   raise UserError(_("Please enter advance payment percent under client form!"))
    

    问题是,当我在预付款百分比中输入0时,仍然会触发此用户错误,因为在python中0=False,所以如何解决此问题,以便使用0而不会触发此错误。只有当字段为空时才应触发。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Zach    6 年前

    也可以检查一下self.advance_payment_percent不是int类型?

    if type(self.advance_payment_percent) != int and not self.advance_payment_percent: