2012-07-19 65 views
0

我想問在布爾變化

我有2布爾(複選框),所以我想這樣做。

當我點擊第一個布爾(複選框),布爾第二個是真實的,但如果我點擊第二個布爾,條件第一個複選框是假的。

我怎麼能這樣做?謝謝

+0

這還不夠信息。當您單擊bool1時單擊bool1和Flase,是否希望bool1和bool2都爲True?或者你想要bool1保持點擊狀態,但改變其他人的? – MaxPowers 2012-07-19 08:34:52

+0

@MaxPowers no..bool1 True,但是當bool2爲True時,bool1變爲False – 2012-07-19 08:38:53

+0

是否意味着如果我單擊bool1 = True bool2將爲True,如果我單擊bool2 True bool將爲True?或者別的東西 – 2012-07-19 08:44:00

回答

2

你可以寫更改方法,你可以返回其他字段或同一字段的值。所以,你的代碼可能是這樣的,在第一場就改變方法:

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

代碼上改變功能

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

是在這裏,您可以更改業務邏輯,但請記住,在變化的第二場它可以返回多個字段的原因,並且該值將被設置,因此如果您想強制設置某個布爾字段false,則強制返回false,這樣您永遠無法將其設置爲true。或者你可以選擇你的業務邏輯相同的方式。

希望這會幫助你。

+0

不...不,謝謝你這麼多@firebug。如果我可以親吻你,哈哈......我的朋友非常感謝你。你最好.... – 2012-07-19 09:09:36

+0

@ J.C我的榮幸;) – 2012-07-19 09:44:22

+0

對不起,我可以再問一次。我如何bool1是真的,但如果你點擊bool1,它將是假的,但我不想那樣。我想如果bool1是真的,我再次點擊它,bool1仍然是真的 – 2012-07-19 09:49:06