2017-07-26 59 views
-1

任何一个可以与例如告诉如何如果类型one2many场改变修改另一个模型领域。如何修改在其他模型中的one2many或many2one场odoo10

例如,我有两个车型)hr_shifts B)hr_contract 在hr_shifts有one2many场(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}) 
+0

请缩进代码。 –

+0

@ api.depends( 'hr_shifts_line.emp_name_ids') \t高清_depends_emp_name_ids(个体经营): \t \t打印 “::::::::::::” \t \t \t在self.hr_shifts_line项目: \t \t \t \t \t \t \t \t打印 “::::::: MMMM ::” \t \t \t电流= self.env [ 'hr.contract']。搜索([( 'EMPLOYEE_ID', '=' ,item.emp_name_ids.id)]) \t \t \t print current,“::::::::::::::::::::::::::::::::::::::::” \t \t \t current.write({'employee_id':self.emp_name_ids.id}) –

回答

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)只是几个之一)。

+0

我想写雇员的名字不工作时间..写我working_hours我已经使用上面的代码。如何更新员工姓名。我想下面的代码:@ api.depends( 'hr_shifts_line.emp_name_ids') \t高清_depends_emp_name_ids(个体经营): \t \t打印 “::::::::::::” 在\t \t \t的项目self.hr_shifts_line: \t \t \t \t \t \t \t \t打印 “::::::: MMMM ::” \t \t \t电流= self.env [ 'hr.contract']搜索([('EMPLOYEE_ID ','=',item.emp_name_ids.id)]) \t \t \t打印当前, “::::::::::::::::::::::::::::::::::::::::” –

+0

我编辑我的评论。改用'emp_name_ids'并将其链接到相应的ID。我的答案是,你需要为One2many字段使用正确的命令。根据你所有的代码示例,你不这样做。你看过文档吗? –

+0

亚我使用,但它不起作用。我试过了什么: - @api。取决于( 'hr_shifts_line.emp_name_ids') \t高清_depends_emp_name_ids(个体经营): \t \t打印 “::::::::::::” \t \t \t的项目在self.hr_shifts_line: \t \t \t打印“::::::: mmmm ::” current = self.env ['hr.contract']。search([('employee_id','=',item.emp_name_ids.id)]) \t \t \t印刷电流“::::::::::::::::::::::::::::::::::::::::” \t \t \t当前.write({'employee_id','=',item.emp_name_ids.id}) \t \t \t#current.update({'employee_id':[(6,0,[self.emp_name_ids.id])]}) –

相关问题