odoo - 如何在 onchange 方法内结合警告消息和更新字段值?在奥多 9

标签 odoo warnings odoo-9

在旧版本的odoo(openerp 7)中,我曾经做过这样的事情:

@api.multi
@api.onchange('my_field')
def my_field_change(self, cr, uid, partner_ids, context=None):
  if condition is True:
     return {
            'warning': {'title': _('Error'), 'message': _('Error message'),},
            'value': { 'my_field': new_value },
             }

如果我想在 odoo 9 中执行此操作,我有以下代码:

@api.multi
@api.onchange('my_field')
def my_field_change(self):
  if condition is True:
     return {
            'warning': {'title': _('Error'), 'message': _('Error message'),},
            'value': { 'my_field': new_value },
             }

显示警告窗口,但忽略值字段。

如何更改该字段的值?

最佳答案

在 odoo Onchange 方法中,您无法返回与旧版本 odoo 相同的值。

Onchange 方法只会返回警告和域。

@api.multi
@api.onchange('my_field')
def my_field_change(self):
    self.field=value
    return {
        'warning': {'title': _('Error'), 'message': _('Error message'),},
         }

在 Odoo 新 api 中,不需要在 dict 中返回值,只需在相关字段中赋值即可。

例如:sale.field=value

这可能对你有帮助。

关于odoo - 如何在 onchange 方法内结合警告消息和更新字段值?在奥多 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43260350/

相关文章:

python - 我如何在 Eclipse 中调试 openerp 代码

javascript - 如何在odoo中添加CSS和javascript?

java - 如果接口(interface)方法有多余的修饰符,Eclipse 中可能会收到警告吗?

c++ - gcc 相当于 VC++ 警告 C4018 : signed/unsigned mismatch

python - 编程错误 : can't adapt type 'stock.location' - Odoo v9

javascript - 如何调用on_menu_about(); Odoo 9 中 UserMenu.js 的功能?

menu - 在自定义模块 odoo 9 中添加菜单

javascript - 在 Odoo 10 中继承 POS Javascript 函数

android - 在 Android 4.1.x 上取消 ActionBar 溢出菜单时发出警告

JavaScript XML-RPC 调用未执行