Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
7457 Vistas

How know which dependency call a compute method if they are more than one? 

f1 = fields.Char()
f2 = fields.Char()
my_field = fields.Datetime(compute='_compute_my_field', store=True)
@api.multi
@api.depends
('f1','f2')
def _compute_my_field(self):
    # How know who called the method?
    pass
Avatar
Descartar
Autor

@Sushma thank for your answer, but how know in the method _compute_my_field if the method has been called by the modification of f1 or f2?

Hi,

you can define some print statement in side method _compute_my_field or can run you're odoo server with debugging mode trace method _compute_my_field.

example:

@api.multi

@api.depends('f1','f2')

def _compute_my_field(self):

print "method _compute_my_field run"

pass

Note: For python 3, print( "method _compute_my_field run" )

You can check this print if you're running you're server using terminal not script.

Else you can enable debug mode to trace.

Autor

This not answer to my question... I always don't know if the method as been called because f1 has been altered OR f2.

Mejor respuesta

Hi,

@api.depends decorator will trigger the call to the decorated function if any of the fields specified in the decorator is altered by ORM or changed in the form, to track you can use python print or debug tools to check it's behaviour.

 

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
oct 17
6609
2
jul 24
1291
2
mar 24
1782
2
sept 21
4570
4
abr 20
8937