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

I override create method@api.model

def create(self, vals):
if vals.get('branch_id'):
fields_to_check = ['drawer_id', 'flexible_id', 'runner_id', 'group_1_id', 'group_2_id', 'group_3_id']
fields_to_check_in_vals = [vals.get(f) for f in fields_to_check]
if not any(fields_to_check_in_vals):
raise UserError('If branch is selected then you need to select one of the fields from data raport')
return super(ResPartner, self).create(vals)

it checks if branch_id is checked then 1 of the fields from fields_to_check should be seleced.

How can i do the same for write method. If some one selects branch_id fields then 1 of the fields from fields_to_check = ['drawer_id', 'flexible_id', 'runner_id', 'group_1_id', 'group_2_id', 'group_3_id'] should be selected to. 



아바타
취소
베스트 답변

Hello Grf,


Try below code :-

@api.multi
def write(self, vals):
    res = super(ResPartner, self).write(vals)
    if self.branch_id:
        if not self.drawer_id or not self.flexible_id or not self.runner_id or not self.group_1_id or not self.group_2_id or not self.group_3_id:
            raise UserError('If branch is selected then you need to select one of the fields from data raport')
    return res


Hope it will helps you.

Thanks,

아바타
취소

res is a boolean !

you either get the value from the record ( you should make a loop on self) or from the vals : vals.get('branch_id', False) and so on

See my updated answer. Thanks,

관련 게시물 답글 화면 활동
1
3월 15
5518
0
4월 15
4914
2
6월 23
2499
1
2월 21
5043
1
6월 20
35560