大家好,我一直在Odoo 8下开发模块。我有一个带有“_inherit = hr.employee”的类“hrEmployee”,现在我的hrEmployee中有一个与另一个模型“hr.employee”有关系的One2many字段。签证”。我想获取“hrEmployee”的字段值,其中onchange函数在“hr.employee.visa”字段中定义。就像我更改“hrEmployee”的字段值一样,我可以获得在当前表单(hrEmployee)上输入的字段值。我怎样才能在Odoo v8中实现这一目标?我的Python代码如下所示:
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浏览,但它给了我“假”。 Plz引导我或指出我的错误。希望提出建议
答案 0 :(得分:0)
尝试以下,
class hr_employee_visas(models.Model):
_name='hr.employee.visas'
employee_id = fields.Many2one("hr.employee", "Employee" )
@api.onchange('visas_number')
@api.depends( 'visas_number')
def _visa_num(self):
for obj in self:
print obj.employee_id.name
这是错误
employee_id = fields.Many2one(" hr.employee.visas","员工")
您需要在此处设置hr.employee
。
无需将两个装饰器一起编写,如果对visas_number字段进行任何更改,将调用此方法,您可以使用任何单个装饰器。