gpt4 book ai didi

python - odoo中的 "warning"和 "UserError"有什么区别?

转载 作者:太空狗 更新时间:2023-10-30 02:26:32 25 4
gpt4 key购买 nike

警告:

warning = {
'title': _('Warning!'),
'message': _('Exists the discount limit'),
}
return {'warning': warning}

用户错误

raise UserError(_('Exists the discount limit'))

odoo中的Warning和UserError有什么区别

最佳答案

当在 python 中引发异常时。它向上传播调用堆栈,直到它在 Odoo 上被处理。响应 Web 客户端调用的 RPC 层捕获所有异常,并且根据异常类,它将在 Web 客户端上触发不同的可能行为。

UserError 将在其在 odoo.exceptions 类中定义的用户界面中显示错误消息。配方代码将 OSError 更改为 UserError 以确保以友好的方式显示消息。在所有情况下,当前数据库事务都会回滚。在 Odoo 9 和 10 中使用 UserError 来显示错误信息。

警告:在 Odoo 8 中,openerp.exception.Warning 扮演了 UserError 的角色,在 9 和 10 中它被弃用了,因为这个名字具有欺骗性(这是一个错误而不是警告) 它与 python 内置警告类发生冲突,保留它是为了向后兼容,你应该在 odoo 9 和 10 中使用 UserError

在您的情况下,当我们返回警告时,这意味着它只向用户显示警告消息,交易不会回滚。

关于python - odoo中的 "warning"和 "UserError"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44588269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com