如何使用many2one设置域

问题描述:

我有一个many2one链接到名为xx_event_id的event.event。在event.event中,我创建了一个xx_weeks的链接,它是一个保存周数列表的单独模型。然后,这些星期的名称也会链接到名为xx_week_name的模型。如何使用many2one设置域

我想在xx_week_name上创建一个域。当我选择一个活动时,我只希望它显示活动中的星期名称。

所以我的XML看起来像这样:

<field name="xx_week_name" domain="[('id', 'in', xx_event_id.xx_weeks.name)]"/> 

然而,它提供了一个错误:

Uncaught Error: AttributeError: object has no attribute 'xx_weeks' 

您在JavaScript端实现,在那里你不能使用Odoo的智能记录(在'点'符号)。

如果你要设置使用关系场域,你可以做的是以下几点:

1)声明相关领域将会从你的关系场“拉”的名字作为一个字符串 week_name = fields.Char(related ='xx_event_id.xx_weeks.name')

2)在视图中将该字段插入为不可见。这样就不会改变我们的观点,我们仍然可以访问它。

3)在关系领域

这应该工作更换过滤器,但你已经在你的领域取得了逻辑错误的机会。你检查[('id', 'in', xx_event_id.xx_weeks.name)]可能你想要不同的东西,如[('id', 'in', xx_event_id.xx_weeks.name)]如果是这样修改上面的例子。