2016-05-25 2 views
1

Я создал флажок, и я хочу установить его значение по умолчанию равным false, чтобы он не был отмечен по умолчанию. Я попробовал четыре способа, но по-прежнему флажок установлен по умолчанию.Как установить значение по умолчанию для полей в odoo 8?

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

ответ

2

По умолчанию это None для логического поля не False (вы можете проверить в базе данных без настройки def Олт значение любого булева поля, вы увидите там None не False), так что вам просто нужно установить, как этот

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

Благодаря теперь его рабочая – Bhanukiran

+0

@Bhanukiran ваше решение нет. 3 уже был 'default = False', так почему это правильный ответ? – CZoellner

+0

Я не знал, что значением по умолчанию является None.I думал, что значение по умолчанию для boolean равно True – Bhanukiran

2

По умолчанию значение Boolean field равно false, поэтому вам не нужно устанавливать его значение по умолчанию.

Теперь по поводу вашего запроса:

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

Оба эти синтаксиса используемого снабжать струной, тетивой и т.п. '0' и 'False', который Правда логикой

вы можете использовать

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

Это вариант тоже:

def default_value(self) 
    <code here> 
    return something 
var = fields.Integer(default=default_value) 
Смежные вопросы