Odoo - OpenERP - How to display Employee Name with Code - both together - _rec_name and name_get() ?

Support
Support
5000
| 2 1 2
Asked on 8/21/15, 4:32 PM
0
vote
2975 Views

_rec_name and name_get()

_rec_name = ‘name’ (by default) 

where ‘name’ is field of the model. If ‘name’ field is not there then you have to assign any other filed name to this ‘_rec_name’ variable from columns.

Note : If ‘name’ field is there in your columns then there is no need to specify '_rec_name'.

Let’s try to dig more using an example.

 

Case I:


If you are having hr.employee module with name field and you are using it as reference in other module, say hr.employee.detail to provide other employee details then you will use it as:

'employee_id' : fields.many2one('hr.employee', 'Employee')

and it will show you the employee name in selection list.

But, In a company, more than one employee can share the same name. So name field can’t be used to differentiate them from each other. But, employee code will be unique for each employee. In such cases, we will take a column field like ‘emp_code’ and will assign it to ‘_rec_name’

_rec_name = ‘emp_code’

So that it can show employee code in dropdown instead of employee name.

Note : In both above cases 'id' will only be store in database. If will affect only the display part.

 

Case II: 


In same above example if need to show combination of both i.e Employee Name, Employee Code ?

In this case we will override name_get() method in hr.employee module

def name_get(self, cr, uid, ids, context={}):
         
        if not len(ids):
            return []

        res=[]

        for emp in self.browse(cr, uid, ids,context=context):
    res.append((emp.id, emp.name + ', ' + emp.emp_code))     

        return res

and it will display combination of both in drop-down.

Support
Support
5000
| 2 1 2
Answered on 8/21/15, 4:35 PM
0
vote

Your answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

Ask a Question

Keep Informed

About This Forum

This forum is for HiTechnologia Employees & just Odoo general knowledge purpose only.

Read Guidelines

Question tools

3 follower(s)

Stats

Asked: 8/21/15, 4:32 PM
Seen: 2975 times
Last updated: 8/21/15, 4:35 PM