2017-07-26 94 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])]}) –

相關問題