Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odgovori
7174 Prikazi

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
Opusti
Avtor

@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.

Avtor

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

Best Answer

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
Opusti
Related Posts Odgovori Prikazi Aktivnost
0
okt. 17
6297
2
jul. 24
983
2
mar. 24
1362
2
sep. 21
4102
4
apr. 20
8345