Subtraction float field odoo 9

819 Views Asked by At

How in function subtraction two float field "Finish - Start"

start = fields.Float(string='Star')
finish = fields.Float(string='Fin')
total = fields.Float(string='Total')

    @api.one
       def total_sum(self):
       ?????? 
2

There are 2 best solutions below

8
On BEST ANSWER

It should be like that,

total = fields.Float(string='Total', compute=_set_total)

@api.multi
def _set_total(self):
    for rec in self:
        rec.total = float(rec.finish or 0.0) - float(rec.start or 0.0)

However you can also create that field normal not functional

total = fields.Float(string='Total')

@api.onchange('finish','start')
def _set_total(self):
    self.total = float(self.finish or 0.00) - float(self.start or 0.00)
0
On
def total_sum(self, cr, uid, ids, start, finish, context=None):
    res = {}
    res['total'] = finish - start
    return {'value': res}