python - 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 并且不会触发这个错误。它只应在字段为空时触发。
解决方案
也许还要检查 self.advance_payment_percent 不是 int 类型?
if type(self.advance_payment_percent) != int and not self.advance_payment_percent:
推荐阅读
- angular - Angular CLI 进程没有开始监听 Angular 应用程序中的请求
- python - Google 的 Drive API 将下载的文件存储在哪里?
- html - 我使用了 Angular CLI:9.1.2,节点:12.16.2 和操作系统:linux x64 版本。我收到以下错误
- python - 我们如何才能让这个 python 代码更有效地运行巨大的文本文件?
- mysql - 要替换的sql查询
- sql - SQL添加从最新日期到当前日期的缺失日期
- javascript - 如何对更高范围的变量集进行解构赋值?
- express - 在 express 中将 api 数据发送回 vue 返回空对象
- python - 在基类的属性上使用 @property
- javascript - 为什么邮递员不会收到跨域块错误?