У меня есть базовый модуль с именем theater
со следующей моделью с именем ticket
:
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class ticket(models.Model):
_name = 'theater.ticket'
_rec_name = 'representation_id'
price= fields.Float('Price',required=True)
representation_id = fields.Many2one('theater.representation',string='Representation',required=True)
Затем я создаю другой модуль расширения с именем theater_extension
и добавляю дополнительное поле к ticket
:
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class ticket(models.Model):
_inherit = 'theater.ticket'
individualTicket_id = fields.Many2one('theater_extension.individualTicket',string='Individual Ticket')
Проблема возникает, когда я добавляю данные теста в theater_extension
. Я обновляю файл __manifest__.py
:
'demo': ['demo/dataTest.xml'],
И создаю dataTest.xml
:
<record id="ticket1" model="theater.ticket">
<field name="representation_id" ref="theater.representation1"></field>
<field name="price">22</field>
<field name="seats_ids"
eval="[(6, 0, [ref(theater.seat1),ref(theater.seat2)])]"></field>
</record>
Примечание. Созданы модели seat
, seat1 и seat2 в базовом (театральном) модуле.
Проблема заключается в том, что он не находит театральный модуль в следующей строке:
eval="[(6, 0, [ref(theater.seat1),ref(theater.seat2)])]" model="theater.seat"></field>
Сообщено об ошибке:
odoo.tools.convert.ParseError: "<class 'NameError'>: "name 'theater' is not defined" while evaluating
'[(6, 0, [ref(theater.seat1),ref(theater.seat2)])]'" while parsing /home/usuario/odoo-dev/theater_extension/demo/dataTest.xml:18, near
<record id="ticket1" model="theater.ticket">
<field name="representation_id" ref="theater.representation1"></field>
<field name="price">22</field>
<field name="seats_ids"
eval="[(6, 0, [ref(theater.seat1),ref(theater.seat2)])]"></field>
</record>