我刚刚开始使用Odoo,我正在创建自己的模块,所以我为Products添加了一个新字段,例如:
class ProductTemplate(models.Model):
_inherit = 'product.template'
netto_price = fields.Float()
现在我将根据netto_price改变额外的字段,netto_price将根据它们进行更改。 Basicaly所有这些都是从netto_price计算的。现在我尝试添加另一个字段:
<field name="calculated_price"/>
但由于它不在模型中而崩溃。所以任何想法我怎么能添加它?我尝试使用输入字段(html),但是当我不添加编辑模式时,仍然有输入字段,这不是我想要的。
答案 0 :(得分:1)
from openerp import api
class ProductTemplate(models.Model):
_inherit = 'product.template'
netto_price = fields.Float()
calculated_price = fields.Float('Calculated price') # or whatever type you want it to be
@api.onchange('netto_price')
def netto_change(self):
return {value: {'calculated_price': self.netto_price}}
基本上您需要做的是添加新字段calculated
,然后装饰您希望在特定字段更改时要触发的任何函数api.onchange
传入您想要的字段触发该函数作为第一个参数,在此函数中我只需将calculated_price
的值设置为netto