自动填充两个 many2one 字段

Auto fill of two many2one fields

在 hr.holidays 模型中有 employee_id 字段 onchange 函数,但我从 'employee_id' 中删除了那个 onchange 函数 field.The 该函数的主要目的是自动填充 'department_id'同型号的字段当'employee_id'字段改变时。

问题:

我的要求是以下代码存在于 odoo v7 中,但我需要在 odoo v8 中。 我尝试了不同的方法,但没有得到任何结果,所以请帮助我。

def onchange_employee(self, cr, uid, ids, employee_id):
    result = {'value': {'department_id': False}}
    if employee_id:
        employee = self.pool.get('hr.employee').browse(cr, uid, employee_id)
        result['value'] = {'department_id': employee.department_id.id}
    return result

我的 odoo V8 代码:

我正在获取 'hr.employee' 的对象,但我无法在 'department_id' 字段中填写该对象,因为它是 many2one field.Below 是我的代码。

@api.onchange('employee_id')
@api.constrains('employee_id')
def joining_date(self):
    if self.employee_id:
        self.department_id =''
        depart_obj = self.env['hr.employee'].search([('name', '=' , self.employee_id.name)])
        if depart_obj:
            for departments in depart_obj:
                depart_new_obj = self.env['hr.employee'].browse([departments.id])

                for tax in depart_new_obj.department_id:
                    self.department_id = [tax.id]

最后我得到了删除 [ ] 的答案。""self.department_id = tax.id""

如果您已经有 self.employee_id

的对象,为什么还要搜索和浏览对象

刚设置

self.department_id = self.employee_id.department_id.id