2012-07-19 3 views
0

묻고 싶습니다.부울 변경시

나는 2 개의 부울 (확인란)을 가지고 있으므로 이렇게하고 싶습니다.

첫 번째 부울 (확인란)을 클릭하면 부울 초가 참이지만 두 번째 부울을 클릭하면 조건 첫 번째 확인란이 거짓입니다.

어떻게 그렇게 할 수 있습니까? 감사합니다

+0

정보가 충분하지 않습니다. bool1을 클릭 할 때 bool1과 bool2를 모두 True로 설정하고 bool2를 클릭 할 때 Flase를 사용 하시겠습니까? 또는 예를 들어 원하십니까? bool1은 주에서 클릭을 유지하지만 다른 사람은 변경 하시겠습니까? – MaxPowers

+0

@MaxPowers no..bool1 True 일 때 bool2 True이면 bool1이 False가됩니다 –

+0

클릭하면 bool1 = True bool2가 True가되고 bool2를 클릭하면 True bool이 True가됩니다. 또는 다른 것 –

답변

2

다른 필드 또는 동일한 필드의 값을 반환 할 수있는 변경 방법에 쓸 수 있습니다.

def on_change_bool2(self, cr, uid, ids, bool2): 
    return {'value':{'bool2': bool2,'bool1':False}} 

예 여기 당신이 비즈니스 로직을 변경할 수 있지만, 변화 것을 명심 변경 기능에 대한 두 번째 필드에

def on_change_bool1(self, cr, uid, ids, bool1): 
    return {'value':{'bool1':bool1,'bool2':False}} 

코드 : 그래서 당신의 코드 변경 방법에 첫 번째 필드에, 다음과 같이 보일 수 있습니다 그것은 여러 필드의 원인을 반환 할 수 있으며 그 값은 강제로 false를 반환하기 때문에 어떤 부울 필드를 거짓으로 설정하려면 false로 설정할 수 있으므로 절대 true로 설정할 수 없습니다. 또는 비즈니스 로직을 같은 방식으로 선택할 수 있습니다.

희망이 도움이 될 것입니다.

+0

NO ... NO .. 너무 많은 @firebug. 만약 내가 할 수있는 키스 u haha..joke. 당신을 너무 많이 주셔서 감사합니다. 당신의 최고 .... –

+0

@ J.C 내 기쁨;) –

+0

죄송합니다 다시 조금 물어 봐도 될까요? 어떻게 내가 bool1 사실이지만 bool1에 u를 클릭하면, 그것은 거짓 될 것입니다,하지만 난 그런 식으로하고 싶지 않아. bool1이 true이고 다시 클릭하면 bool1이 여전히 true가됩니다. –