콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
1 회신
7693 화면

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
아바타
취소
작성자

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

작성자

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

베스트 답변

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.

 

아바타
취소
관련 게시물 답글 화면 활동
0
10월 17
6801
2
7월 24
1477
2
3월 24
2045
2
9월 21
4867
4
4월 20
9162