将合作伙伴添加到Odoo中的日历

时间:2016-02-24 10:40:48

标签: calendar openerp openerp-8

我需要在Odoo v.9中为用户的日历创建一个活动,但它不会创建与会者。

event={
    'start':start_time.strftime('%Y-%m-%d %H:%M:%S'),
    'stop':end_time.strftime('%Y-%m-%d %H:%M:%S'),
    'duration':hours,
    'allday':False,
    'partner_ids': [emp.employee_id.id],
    'name': myshift.account_id.name,
    'user_id': emp.employee_id.user_id.id,
  }
event=self.env['calendar.event'].create(event)

集合partner_ids是与res.partner的Many2Many关系,这是在calendar.event中编写合作伙伴ID的方法吗?

2 个答案:

答案 0 :(得分:1)

你不能在many2many字段中创建值只是给它id(这只适用于many2one)。 如果该字段是one2many或many2many:

(0, 0, { values }) link to a new record that needs to be created with the given values dictionary
(1, ID, { values }) update the linked record with id = ID (write values on it)
(2, ID) remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well)
(3, ID) cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself)
(4, ID) link to existing record with id = ID (adds a relationship)
(5) unlink all (like using (3,ID) for all linked records)
(6, 0, [IDs]) replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)

所以,你应该添加的不是列表,[(4,emp.employee_id.id)]

答案 1 :(得分:1)

这是可行的代码

'partner_ids': [(4,[emp.employee_id.user_id.partner_id.id])],