This question has been flagged
1 Reply
7668 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

Avatar
Discard
Best Answer

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:
            list.append(id.name.id)
        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.

Avatar
Discard
Author

Thanks Nehal