Привет всем Я развиваю модуль под Odoo 8. У меня есть класс hrEmployee с «_inherit = hr.employee», теперь у моего hrEmployee есть поле One2many, имеющее отношение с другой моделью «hr.employee.visa». Я хочу получить значения полей «hrEmployee» с функцией onchange, определенной в поле «hr.employee.visa». Например, когда я изменяю значение поля «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 просматривание, но это дает мне «False». Plz направлять меня или указывать на мою ошибку. Надежды на предложение
Непонятно, чего вы хотите достичь. «Onchange» - это действие на стороне клиента, инициируемое при редактировании поля 'visas_number' в форме для' hr.employee.visas'. Что вы ожидаете сделать, когда это произойдет? –
Посмотрите, что основной формой является hrEmployee (который наследует «hr.employee»). Существует унаследованное поле 'name_related'. Здесь используется поле One2many, которое связано с «hr.employee.visas». Теперь функция onchange, определенная в дочерней форме (model = 'hr.employee.visas'), должна напечатать мне значение, которое я ввел в родительскую форму (model = 'hrEmployee') –
В вашем коде нет 'name_related'. Вы хотите, чтобы имя сотрудника отображалось в форме визы? Это должно быть по умолчанию. Извините, я все еще смущен. –