自动填写两个多个字段

时间:2017-10-06 11:57:01

标签: python openerp odoo-8

在hr.holidays中,employee_id字段onchange函数的模型存在,但是我从' employee_id'删除了onchange函数。该功能的主要目的是自动填充“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'因为它是很多2字段。下面是我的代码。

@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]

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

如果您已经拥有self.employee_id

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

只需设置

self.department_id = self.employee_id.department_id.id