Odoo Help


How to fetch data from one2many field using self.browse

on 3/4/15, 6:49 AM 1,839 views


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.




Thank you Vasanth and Emipro Technologies Pvt. Ltd.

on 3/5/15, 4:31 AM
On 3/4/15, 7:19 AM

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



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.

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 3/4/15, 6:49 AM
Seen: 1839 times
Last updated: 7/5/15, 7:51 AM