Odoo Help


Construct a "domain=" across many2many fields

David Arnold
on 6/20/14, 6:00 PM 1,802 views

If you too hate the display of this forum, please refer:

domain = ('foofield', 'operator', barvalue)

  • In my case barvalue IS a list.
  • I want foofield to be a list. More specifically, I want foofield to contain the values (as a list) of the many2many field 'foofield'
  • I want operator do define foofield as an entire subset of barvalue. (best guess: 'in')

I know this is probably not possible, so workaround, conceptual help would be nice...

Part of the Answer: https://github.com/odoo-colombia/odoo_advanced_tax_engine/blob/89b71c7ec836e69fb5eabdb24bc0491a93b60096/account_fiscal_allocation_rule/models/fiscal_allocation_rule.py#L147-L168 Still open: https://github.com/odoo-colombia/odoo_advanced_tax_engine/blob/89b71c7ec836e69fb5eabdb24bc0491a93b60096/account_fiscal_allocation_rule/models/fiscal_allocation_rule.py#L182-L184

David Arnold
on 6/20/14, 7:37 PM

Hope with this rewrite of the question, it is more understandable... :) Thanks.

David Arnold
on 6/21/14, 1:57 AM

Serpent Consulting Services Pvt. Ltd.

--Serpent Consulting Services Pvt. Ltd.--
Serpent Consulting Services Pvt. Ltd.
| 6 6 8
Gandhinagar, India
--Serpent Consulting Services Pvt. Ltd.--

Serpent Consulting Services Pvt. Ltd. Your Odoo/OpenERP Solution, just an email away!

Serpent Consulting Services Pvt. Ltd.
On 6/21/14, 2:24 AM


The domain you wrote should simply work because the [(field, operator, value)] in your case is [] in [] and for many2many fields, this should suffice.

Do you face any errors, warnings?


David Arnold
On 6/23/14, 1:31 PM

Actually, https://github.com/odoo/odoo/blob/1f20f61ab4f6acf79f4db6ba9a17c1282014ef5f/openerp/osv/expression.py#L932-L971 supports your answer very well.

Errors might raise from different sources while debugging. I somehow was prone to believe this doesn't work because documentation (https://doc.openerp.com/v6.0/developer/2_5_Objects_Fields_Methods/methods.html/) states: 

field_name must be a valid name of field of the object model, possibly following many-to-one relationships using dot-notation, e.g 'street' or 'partner_id.country' are valid values


(explicitely states many2one but doesn't mention many2many )

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

2 follower(s)


Asked: 6/20/14, 6:00 PM
Seen: 1802 times
Last updated: 3/16/15, 8:10 AM