Odoo 11. Импортируйте many2one из xml - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь ввести несколько регистров, которые согласно модели many2one, но Odoo показывает мне сообщение об ошибке.

Можете ли вы мне помочь?

Файл XML:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="account.payment.term" id="account_payment_term_6">
    <field name="name">10 Dias</field>
    <field name="active" eval="True" />
    <field name="line_ids" eval="[(6, 0), ({'value_amount': '0.0', 'value': > Saldo', 'days2': '0', 'days': '10'})]"/>
</record>
</odoo>

Ошибка:

File "/usr/lib/python3/dist-packages/odoo/fields.py", line 2283, in write
comodel.browse(act[2]).write({inverse: record.id})
odoo.tools.convert.ParseError: "tuple index out of range" while parsing /mnt/extra-addons/import/data/account_payment_term.xml:3, near
<record model="account.payment.term" id="account_payment_term_6">
    <field name="name">10 Dias</field>
    <field name="active" eval="True"/>
    <field name="line_ids" eval="[(6, 0), ({'value_amount': '0.0', 'value': 'Saldo', 'days2': '0', 'days': '10'})]"/>
</record>

Спасибо за помощь

1 Ответ

0 голосов
/ 26 июня 2018

Когда вы используете (6,0) семантику, он принимает только список идентификаторов. Здесь вы передаете пару ключ-значение, поэтому вам нужно использовать (0,0).

Если вы хотите создать новую запись с парой ключ-значение, вам нужно использовать [(0,0), {values}] или вы пытаетесь связать уже существующие записи, либо использовать [(4, ID)] или [(6,0, [IDs])].

Попробуйте код ниже:

 <record model="account.payment.term" id="account_payment_term_6">
<field name="name">10 Dias</field>
<field name="active" eval="True"/>
<field name="line_ids" eval="[(0, 0), ({'value_amount': '0.0', 'value': 'Saldo', 'days2': '0', 'days': '10'})]"/>
</record>

Это существующая семантика для редактирования / обновления, удаления и т. Д. Пожалуйста, обратитесь к нижеприведенным примерам, которые используются для One2Many и Many2Many.

(0, 0, {values}) ссылка на новую запись, которую необходимо создать с данным словарем значений словаря

(1, ID, {значения}) обновить связанную запись с id = ID (записать в нее значения)

(2, ID) удалить и удалить связанную запись с id = ID (вызывает unlink по ID, которая полностью удалит объект, а также ссылку на него)

(3, ID) вырезать ссылку на связанную запись с id = ID (удалить связь между двумя объектами, но не удаляет сам целевой объект)

(4, ID) ссылка на существующую запись с id = ID (добавляет связь)

(5) удалить все (например, используя (3, ID) для всех связанных записей)

(6, 0, [IDs]) заменить список связанных идентификаторов (например, используя (5) затем (4, ID) для каждого идентификатора в списке идентификаторов)

Надеюсь, это поможет вам.

...