我已经在Odoo中了,我遇到了与Calendar.event对象关系One2many的问题。
我已经定义了一个像这样的新对象“调查”:
class Investigation(models.Model):
_name = 'investigation'
calendar_event_ids = fields.One2many('calendar.event', 'investigation_id', help="Meetings")
我修改了这样的calendar.event对象:
class CalendarEvent(models.Model):
_name = 'calendar.event'
_inherit = 'calendar.event'
investigation_id = fields.Many2one(comodel_name='investigation', inverse_name='investigation_id', help="Investigation")
我已经定义了我的对象视图:
...
<page string="Calendar">
<group>
<field name="calendar_event_ids" string="Meetings"></field>
</group>
</page>
...
这是新的calendar.event表单:
<record model="ir.ui.view" id="investigation_view_calendar_event_form">
<field name="name">Calendar - Event Form</field>
<field name="model">calendar.event</field>
<field name="priority" eval="1"/>
<field name="inherit_id" ref="calendar.view_calendar_event_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="/form/sheet/notebook/page[1]" position="replace">
<page string="Meeting Details">
<group>
<group>
<field name="start_date" string="Date" on_change="onchange_dates('start', start_date, stop_date, allday, True)" />
</group>
</group>
<field name="message_needaction" invisible="1"/>
</page>
</xpath>
</data>
</field>
</record>
将新的calendar.event对象添加到我的对象调查中我得到以下错误:
......\workspace\odoo\addons\calendar\calendar.py(47)calendar_id2real_id()
-> return calendar_id and int(calendar_id) or calendar_id
(Pdb)
在调试模式下,我在calendar.py类的方法get_real_ids(ids)中看到我有一个像“u'one2many_v_id_92”这样的id值,但我认为id必须是long类型。
任何人都可以帮助我吗? 提前谢谢。
答案 0 :(得分:0)
您在模型inverse_name
上的investigation_id
上不需要calendar.event
。实际上,模型calendar_event_ids
上的investigation
已经并且需要inverse_name
参数。您已正确设置,因为inverse_name
是One2Many
字段定义中的第二个参数。