如何修改其他模型odoo10中的one2many或many2one字段

时间:2017-07-26 05:23:16

标签: python-3.x odoo-10

如果在type-one2many字段中更改了示例如何修改另一个模型中的字段,那么任何人都可以说明。

例如,我有两个模型a)hr_shifts b)hr_contract 在hr_shifts中,在单击保存按钮后,在此字段中更改时,会有一个字段(emp_name_ids)反映在hr_contract中。 这个代码工作,但当我在one2many字段(emp_name_ids)中使用时,它不起作用

@api.depends('schedule')
    def _onchange_schedule(self):
        for item in self.hr_shifts_line:
        current=self.env['hr.contract'].search([('employee_id','=',item.emp_name_ids.id)])
        current.write({'working_hours':self.schedule.id})

1 个答案:

答案 0 :(得分:0)

One2manyMany2many使用特殊的"命令"格式来操作存储在字段中/与字段相关联的记录集。

你应该尝试:

current.write({'emp_name_ids': [(6, 0, [ids])]})

有关特殊命令的详细信息,请参阅文档:https://www.odoo.com/documentation/10.0/reference/orm.html#model-reference

向下滚动到那里的CRUD部分,你会发现所有可能的命令((6, _, ids)只是其中之一)。