I am trying to use multiple condition for my domain but I got this error:
ValueError: Invalid leaf ('&', ('A', '=', True), ('B', '=', False)
I have no idea why. Everything looks well. I would like to have (A & !B) OR (C & !D )
This is my code (OpenERP 7):
<field name="domain">['|',('&',('A','=', True),('B','=', False)),('&',('C','!=', True),('D','=', False))]</field>
What is wrong with my code? Some idea?
You're using extra brackets. Prefix Notation (AKA Polish notation) is all about discarding necessity of brackets. You should use proper "prefix notation" in condition statement. In order to correct a syntax, we have to remove extra brackets, so the above posted condition becomes ['|','&',('A','=', True),('B','=', False),'&',('C','!=', True),('D','=', False)]
. It'll solve the Invalid leaf
error. See also my answer to the similar question.