Hola quiero saber como puedo calcular un valor de un campo tomando el valor de otro que esta en otro modelo.
En mi actual proyecto estas son dos de mis modelos y alguno de sus campos:
class registro_model(models.Model):
_name = 'comprasmayores.registro'
monto = fields.Float(help='Monto del bien o servicio a solicitar')
iva = fields.Float(string='IVA', compute='_iva', store=True)
total = fields.Float(string='Monto Total', compute='_total', store=True)
ut = fields.Float(string="U.T", compute='_ut', store=True)
@api.depends('monto')
def _iva(self):
for r in self:
r.iva = 12 * r.monto / 100
@api.depends('monto', 'iva')
def _total(self):
for r in self:
r.total = r.monto + r.iva
class ut_model(models.Model):
_name = 'comprasmayores.ut'
ut_fija = fields.Float(string='Valor actual de la Unidad Tributaria')
la cosa es que quiero calcular el valor del campo 'ut' de la siguiente manera, dividir el valor del campo 'total' con el de 'ut_fija' y como ven ambos se encuentran en modelos diferentes, por lo que obviamente al intentar llamar a 'ut_fija' en mi primer modelo obtengo un error esto fue lo que intente al principio:
@api.depends('total')
def _ut(self):
for r in self:
r.ut = r.total / r.ut_fija
Espero que alguien sepa como quiero realizar esta operacion.
Nota: en mi segundo modelo solo existe ese campo ('ut_fija') y solo existira un registro del mismo por lo que supongo no hay que ir buscando el id de este, me encuentro desarrollando sobre Odoo v9, espero haber sido lo suficientemente claro.
Otra cosa, la clase ut_model esta en un archivo diferente de mi clase principal ya que esta esta en una especie de archivo de configuracion