Operatori logici su domini di ricerca python per Odoo
OpenERP/Odoo utilizza la ‘polish notation’ per i filtri di dominio:
http://en.wikipedia.org/wiki/Polish_notation
Combinare correttamente gli operatori può essere un’impresa!
Come ben spiegato in questo post sul forum Odoo è necessario capire la logica della notazione in questione:
Esempio:
( A OR B ) AND ( C OR D OR E )
diventa:
AND OR A B OR OR C D E
Che praticamente rappresenta l’ordine seguente da sinistra a destra:
AND [OR A B] OR OR C D E Result of [OR A B] is F
AND F OR [OR C D] E Result of [OR C D] is G
AND F [OR G E] Result of [OR G E] is H
[AND F H]
Nel caso dell’operatore IN si può fare così:
['&',('field2', 'in', ['A', 'B']),('state', 'in', ['open', 'closed', 'draft'])]
In Odoo si possono vedere diversi esempi in:
Settings > Actions > Window Actions (technical features should be on)