首页 > 解决方案 > UserError 在值 0 上触发

问题描述

我有这种用户错误

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!"))

问题是,当我在 advance_payment_percent 中输入 0 时,这个 UserError 仍然会被触发,因为在 python 中 0 = False,所以我该如何解决这个问题,我可以使用 0 并且不会触发这个错误。它只应在字段为空时触发。

标签: pythonpython-2.7odooodoo-8odoo-9

解决方案


也许还要检查 self.advance_payment_percent 不是 int 类型?

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


推荐阅读