如果我将模块升级到包含此方法的最新版本,则所有价格都变为0? 我应该怎么做才能防止价格变化,直到我在平均场中增加任何回报为止。
我在产品模板上添加了计算字段以计算某些项目的平均值并显示 我还在list_price字段上添加了一种计算方法,以上面的平均值和成本价格进行计算。
@api.one
@api.depends('item.pro', 'drc.pro', 'dsc.pro', 'org.pro', 'car.pro', 'model.pro', 'year.pro')
def update_bar(self):
list=[self.item.pro, self.drc.pro, self.dsc.pro, self.org.pro, self.car.pro, self.model.pro, self.year.pro]
list = [float(x) for x in list if x is not False]
try:
self.pro =float(sum(list) / len(list))
except ZeroDivisionError:
if self.pro == float("inf") or self.pro == float("-inf") :
return float('nan') # or x or return whatever makes sense
pass
@api.one
@api.depends('pro')
def testprice(self):
if self.pro != 0 :
for template in self:
template.list_price = float(((self.pro + self.ex_pro) * self.standard_price / 100) + self.standard_price)
list_price = fields.Float(string="Price", required=False,compute=testprice)
pro = fields.Float(string="profit mergin", required=False,compute=update_bar,)
ex_pro = fields.Float(string="Extra profit", required=False,placeholder= "%" )