This question has been flagged
2 Replies
8065 Views

Hi,

I am using self.browse in hr.employee and trying to fetch data. I used the following lines in my code to get "Employee Name" and his respective "Country Name".

hr_obj = self.browse(cr, uid, ids, context=context)

emp_name = hr_obj.name

country_name= hr_obj.country_id.name

 

I am having  a one2many field with the name "hr_onetomany" defined in the below manner.

'hr_onetomany': fields.one2many('hr.one.many','emp_id','HR One to Many'),

the related class "hr.one.many" has the columns "relation_name,relation_date,relation_status,emp_id". I want to fetch the value of "relation_name" for a particular employee. I tried using "hr_obj.hr_onetomany.relation_name" but it dint worked. Can anyone please help me with a solution. Thank you in Advance.

 

Regards,

Scot.

Avatar
Discard
Author

Thank you Vasanth and Emipro Technologies Pvt. Ltd.

Best Answer

Hello,

you can not get o2m fields in this manner, because hr_obj.hr_onetomany will give you list of browse objects, you can get list of names in one shot, 

try following

names = []

[names.append(obj.name) for obj in hr_obj.hr_onetomany]

I hope it will help you.

Avatar
Discard
Best Answer

Hi scot, you can get the values for the onetomany field by using for loop.

For example, you can try this type of code:

hr_obj = self.browse(cr, uid, ids, context=context)

for record in hr.hr_onetomany:

  relation_name = record.relation_name

  print relation_name

Avatar
Discard