大家好,我一直在开发Odoo 8模块。我有一个类“hrEmployee”和“_inherit = hr.employee”,现在在我的hrEmployee中有一个One2many字段有关系与另一个模型“hr.employee.visa”。我想通过在“hr.employee.visa”字段中定义的onchange函数来获取“hrEmployee”的字段值。就像当我更改“hrEmployee”的字段值时,我可以获取在当前表单(hrEmployee)上输入的字段值。我如何能够在Odoo v8中实现这一点?我的Python代码如下所示:获取继承模型的字段值Odoo 8
class hrEmployee(models.Model):
_inherit = "hr.employee"
diwan_no = fields.Char('Diwan No', size=30, help='Diwan Number')
zeo_number = fields.Char('ZEO Number',size=30, help='ZEO Number')
visas_ids = fields.One2many('hr.employee.visas', 'employee_id', 'Visas')
class hr_employee_visas(models.Model):
_name='hr.employee.visas'
employee_id = fields.Many2one("hr.employee.visas", "Employee")
@api.onchange('visas_number')
@api.depends('visas_number')
def _visa_num(self):
cr=self._cr
uid=self._uid
ids=self._ids
for id in ids:
obj1=self.pool.get('hr.employee').browse(cr,uid,id,context=None)
print obj1.name_related
visas_sponsor = fields.Char('Sponsor')
visas_states = fields.Selection([('apply','Apply'),('active','Active'),('expire','Expire'),('cancel','Cancelled')], string='State')
visas_number = fields.Char('Visa No', help='Visa Number')
我试图使用self.pool.get浏览但它给了我“假”。普茨指导我或指出我的错误。憧憬建议
目前尚不清楚你想实现什么。 'onchange'是客户端动作,当编辑'hr.employee.visas'的表单中的'visas_number'字段时触发。发生这种情况时你期望做什么? –
看看主窗体是hrEmployee(继承'hr.employee')。有一个继承的字段'name_related'。这里使用了一个与'hr.employee.visas'相关的One2many字段。现在,在子表单上定义的onchange函数(model ='hr.employee.visas')应该打印出我在父表单上输入的值(model ='hrEmployee') –
代码中没有'name_related'。你希望员工姓名在签证表上显示?它应该是默认的。对不起,我还是很困惑。 –