获取继承模型Odoo 8的字段值

时间:2015-07-13 11:25:54

标签: python openerp odoo

大家好,我一直在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引导我或指出我的错误。希望提出建议

1 个答案:

答案 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字段进行任何更改,将调用此方法,您可以使用任何单个装饰器。