2016-05-25 23 views
1

私はチェックボックスを作成しました。デフォルト値をfalseに設定して、デフォルトでチェックが外されているようにしたいのですが、4つの方法で試しましたが、デフォルトではチェックボックスがオンになっています。odoo 8のフィールドのデフォルト値を設定する方法は?

raw = fields.Boolean(default=0) 
raw = fields.Boolean(default='0') 
raw = fields.Boolean(default=False) 
raw = fields.Boolean(default='False') 

答えて

2

デフォルトはfalseです。ブール値フィールドはFalseではありません(defを設定せずにデータベースにチェックインできますオールト任意のブールフィールドの値、あなたは)なしがFalseではないが表示されます、あなただけでは

raw = fields.Boolean(string='Raw', default=False) 
+0

おかげで、今その作業 – Bhanukiran

+0

@Bhanukiranあなたの解決策はありません。 3はすでに 'default = False'だったので、なぜこれが正しい答えですか? – CZoellner

+0

私はデフォルト値がNoneであることを知らなかった。私はブール値のデフォルト値はTrueだと思った – Bhanukiran

2

デフォルトでは、ブール値フィールドの値はfalseであるため、デフォルト値を設定する必要はありません。今すぐあなたのクエリに関する

raw = fields.Boolean(default='0') 
raw = fields.Boolean(default='False') 

これらの両方の構文は文字列 '0' を使用して、あなたが

raw = fields.Boolean(default=0) 
raw = fields.Boolean(default=False) 
を使用することができ、論理

でTrue である '偽' されています

0

のように設定する必要があるので、これもオプションである:

def default_value(self) 
    <code here> 
    return something 
var = fields.Integer(default=default_value) 
関連する問題