2017-01-24 5 views
0

Я хочу добавить новую категорию структуры зарплаты в файл данных. Вот мой текущий кодКак добавить значение null в поле Many2one из файла данных Odoo

<record id="MEALS" model="hr.salary.rule.category"> 
     <field name="name">Meals</field> 
     <field name="code">MEALS</field> 
     <field name="parent_id" eval=""></field> 
    </record> 

Все, что мне нужно, это категория, без родительской категории, но с этим код родительской категории ней база для новых структур. Я пробовал с evals = "0", evals = "" или удалить поле parent_id из. Как добавить значение null в это поле?

ответ

1

Это поведение немного странное .AFAIK Если вы не указали поле parent_id, оно должно работать и иметь нулевое значение, потому что это поле не имеет значения по умолчанию. (За исключением того, что вы расширили модель и добавили default в это поле).

Единственные поля, в которых нулевые значения не работают в ORO ORO, являются полями Integer и float. (Вот почему они всегда имеют начальное значение 0 или 0.0 в виде формы).

со ссылкой на документы:

поле

Каждая запись может состоять из полей тэгов, определяющих значения набора при создании записи. Запись без поля будет использовать все значения по умолчанию (создание) или ничего не делать (обновление).

Поле имеет обязательный атрибут имя, имя поля, чтобы установить, и различные методы, чтобы определить само значение:

Ничего

, если значение не предусмотрено поле, в поле будет задано неявное значение False: . Может использоваться для очистки поля или во избежание использования значения по умолчанию для поля .

Попробуйте <field name="parent_id" /> или <field name="parent_id" eval="False" />

Если выше не работает, то проверьте ваш кодовое и убедитесь, что вы не устанавливать значение по умолчанию какого-либо на поле.

+0

Вы правы, оно имеет значение по умолчанию для родительского поля, я изменил его наследующей модель hr.payroll.structure и изменил значение по умолчанию на False: 'parent_id = fields.Many2one (default = False)' –