если я обновил свой модуль до последней версии, которая содержит этот метод, все цены изменятся на 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= "%" )