2016-08-18 7 views
0


Я neewby в Odoo, и у меня проблема с отношениями One2many с объектом calendar.event.
я определил новый объект «Исследование», как это:Odoo One2many отношение с calendar.event объект

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) 

В режиме отладки я видел, что в методе get_real_ids (идентификаторы) в классе calendar.py Я значение IdS например, «u'one2many_v_id_92», но я полагаю, что идентификаторы должны быть длинными.

Может ли кто-нибудь мне помочь?
Спасибо заранее.

ответ

0

Не требуется inverse_name по телефону investigation_id по модели calendar.event. Фактически calendar_event_ids на модели investigation имеет и нуждается в параметре inverse_name. Вы установили его правильно, потому что inverse_name является вторым параметром определения One2Many.

+0

ОК, я применил ваши изменения, но ничего не изменилось. Отладочное сообщение «return calendar_id и int (calendar_id) или calendar_id» persist и gui остаются заблокированными –

+0

Я не вижу других проблем в вашем коде. Мне кажется, что Odoo не может обрабатывать виртуальные идентификаторы на 'calendar.event'. Может быть ошибка. Откройте проблему в [Проблемы с Odoo] (https://github.com/odoo/odoo/issues) – CZoellner

Смежные вопросы