域中的多个条件不起作用 - OpenERP 7 - Odoo

时间:2016-07-22 09:51:06

标签: python xml openerp openerp-7

我正在尝试为我的域使用多个条件,但是我收到了这个错误:

ValueError:无效的叶子('&',('A','=',True),('B','=',False)

我不知道为什么。一切都很好看。我想要(A&!B)OR(C&!D)

这是我的代码(OpenERP 7):

        <field name="domain">['|',('&amp;',('A','=', True),('B','=', False)),('&amp;',('C','!=', True),('D','=', False))]</field>

我的代码出了什么问题?有些想法?

1 个答案:

答案 0 :(得分:0)

你正在使用额外的括号。前缀表示法(AKA波兰表示法)是关于丢弃括号的必要性。您应该在条件语句中使用正确的"prefix notation"。为了纠正语法,我们必须删除额外的括号,因此上面发布的条件变为['|','&amp;',('A','=', True),('B','=', False),'&amp;',('C','!=', True),('D','=', False)]。它将解决Invalid leaf错误。另请参阅我的answer to the similar question