Odoo Help


how to populate many2one field with condition

Jamshid Chungath
on 4/23/14, 3:05 AM 2,398 views

hai, i need to populate a many2one field with condition i cant use domain filter here,i want to take some data filter from many2many table,so i need to write a conditonal populate for many2one field, Please Help me. Regards jamshid k




| 5 2 8
Ahmadabad, India
On 4/23/14, 3:25 AM

You can try something like below: In custom object of your .py file:

def _get_emp_type_domain(self, cr, uid, ids, field_name, arg, context=None):
    if ids:
        record_id = ids[0] 
        emp_type_list = self.pool.get('many2many_table').browse(cr, uid, ids, context=context)
        list = []
        for id in emp_type_list:
        return {ids[0]: [('id','in',list)]}    

_columns = {
    'emp_type': fields.many2one('hr.job', 'Employee Group'),
    'domain_field': fields.function(_get_emp_type_domain, type='char', size=255, method=True, string="Domain"),

In xml file:

<field name="domain_field" invisible="1"/> 
<field name="emp_type" domain="domain_field"/>

Hope this may help you.

Thanks Nehal

Jamshid Chungath
on 4/28/14, 5:57 AM

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

0 follower(s)


Asked: 4/23/14, 3:05 AM
Seen: 2398 times
Last updated: 4/14/18, 1:06 AM