.subnav__hover
def onchange_partner(self, cr, uid, ids, partner_id, context=None):
res = {}
if partner_id:
obj = self.pool.get('res.partner').browse(cr, uid, partner_id)
res['field1'] = obj.field1
res['field2'] = obj.field2
res['field3'] = 'Hello' # this field type must be char or if not then give
#value accordingly, its just to prove you that values are filled on onchange.
return {'value': res}
但我不写#34; onchange_partner"因为它不使用xml如何使用
答案 0 :(得分:0)
写onchange方法有两种方法。
Old Api:
model.py 中的
def myonchange(self,cr,uid,ids,field_name,context=None):
...
...
...
return {'value':{'field': 'value'}}
in model_view.xml
<field name="field_name" on_change="myonchange(field_name)"/>
如果您使用旧的api,则需要在xml视图中的字段上添加onchange属性。
新Api:
@api.onchange('field_name')
def my_onchange(self):
self.field_name = 'Value' # to set filed value
在新的API中,您需要添加装饰器,如果在窗体中更改了装饰器中指定的任何字段,则会触发对装饰函数的调用。