This question has been flagged
2 Replies
30680 Views

Hi,

       I've created many2many field. I would like to apply domain filter on the many2many field. The field reference is not storing in the master table but it's creating another table and storing the reference ids. May I know how to apply the domain filter on the many2many field with an example.

Thanks...

Avatar
Discard

http://forum.openerp.com/forum/topic23503.html (the page refers to v6 but that works on v7 as well)

I quote from the prakash link : " <field name="user_id" domain="[('id','in', [id for id in user_ids[0][2]]])]"/>

and you have to make the user_ids as a related field: 'user_ids': fields.related('group_id', 'user_ids', type="many2many", obj="res.users"),

and: the related field must be appear (at least invisible) in the form"

Best Answer

An example to solve your issue :

in the model :

'functions_ids': fields.many2many('functions', 'function_partner_rel', 'partner_id',
                                      'function_id', 'Functions'),
'function_id': fields.many2one('functions', 'Position Occupied'),

In the view:

<field name="function_id" readonly="False" domain="[('id', 'in', parent.functions_ids[0][2])]"/>
Avatar
Discard

@el, could you explain [0][2] in the view?

... and who is parent?

Best Answer

Hello Stephen 

you can use below search filter

Avatar
Discard

<field name="category_id" string="Tag" filter_domain="[('category_id', 'child_of', self)]"/>