将过滤器应用于many2many字段时,我收到此错误。
python中的字段定义是: 这是python中的字段定义
fields.Many2many(string='AnalysisProfile',
comodel_name='olims.analysis_profile',
relation='ar_to_analysisprofile',
domain="[('Deactivated', '=',False )]"
并在XML视图中:
<field name="AnalysisProfile" string="Analysis Profile"></field>
我收到了以下错误:
引发ValueError(&#34;无效的叶子%s&#34;%str(self.leaf))
ValueError:无效的叶[
答案 0 :(得分:1)
在Odoo中,域名比较包含三叶元组,例如:
('field', "=", 'value')
该错误消息通常意味着这3个叶子中的一个是错误的。检查您的域名以进行修复。
答案 1 :(得分:1)
您在域中添加了额外的双引号,将其删除并尝试。
fields.Many2many(string='AnalysisProfile',
comodel_name='olims.analysis_profile',
relation='ar_to_analysisprofile',
domain=[('Deactivated', '=',False )])
并确保在Deactivated
中定义了字段olims.analysis_profile
(大写字母D)。
希望它会对你有所帮助。
答案 2 :(得分:0)
试试这段代码:
Python文件:
def _analysis_profile(self):
return [('Deactivated', '=', False)]
AnalysisProfile = fields.Many2many(string='AnalysisProfile',
comodel_name='olims.analysis_profile',
relation='ar_to_analysisprofile',
domain=_analysis_profile)
XML文件:
<field name="AnalysisProfile" string="Analysis Profile" widget="many2many_tags"></field>