gpt4 book ai didi

python - OpenERP v7 on_change 函数返回数字而不是值

转载 作者:行者123 更新时间:2023-12-01 03:50:58 24 4
gpt4 key购买 nike

 def onchange_product_id(self, cr, uid, ids, product_id, context=None):
val = {
'name': product_id,
}

return {'value': val}


<field name="product_id" on_change="onchange_product_id(product_id, context)"/>
<field name="name"/>

当我选择“product2”时,我的值在 one2many (product1, Product2) 中,函数 onchange_product_id 返回值 2 而不是 Product2,并且它出现在字段 “name”。仅当我在 Many2one、one2many...关系中使用 on_change 时才会发生这种情况,但在 char、int 和 float 中函数的值返回正确。

我的问题是如何使用 on_change 函数获得 one2many 的正确值?

谢谢

最佳答案

你需要做类似的事情,

def onchange_product_id(self, cr, uid, ids, product_id, context=None):
product = self.pool.get('product.product').browse(cr, uid, product_id, context=context)
val = {
'name': product and product.name or '',
}

return {'value': val}

因为product_id包含并且id不是可浏览的记录。因此,首先您需要浏览该记录,然后需要获取产品名称。

关于python - OpenERP v7 on_change 函数返回数字而不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38263065/

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