如何在 onchange 方法中组合警告消息和更新字段值?在 odoo 9
How can I combine a warning message and update field value inside of onchange method? In 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 },
}
显示警告 window 但值字段被忽略。
如何更改字段的值?
在 odoo Onchange 方法中,您不能 return 值与旧版本的 odoo 相同。
Onchange 方法只会 return 警告和域。
@api.multi
@api.onchange('my_field')
def my_field_change(self):
self.field=value
return {
'warning': {'title': _('Error'), 'message': _('Error message'),},
}
在新的 Odoo 中 api 无需 return 字典中的值只需在相关字段中赋值即可。
例如:sale.field=值
这可能对您有所帮助。
在旧版本的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 },
}
显示警告 window 但值字段被忽略。
如何更改字段的值?
在 odoo Onchange 方法中,您不能 return 值与旧版本的 odoo 相同。
Onchange 方法只会 return 警告和域。
@api.multi
@api.onchange('my_field')
def my_field_change(self):
self.field=value
return {
'warning': {'title': _('Error'), 'message': _('Error message'),},
}
在新的 Odoo 中 api 无需 return 字典中的值只需在相关字段中赋值即可。
例如:sale.field=值
这可能对您有所帮助。