我有一个链接到event.event的many2one,名为xx_event_id。在event.event中,我创建了一个指向xx_weeks的链接,这是一个单独的模型,可以保存周列表。然后,这些周的名称也链接到名为xx_week_name的模型。
我试图在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'
答案 0 :(得分:0)
域名是在javascript端实现的,在那里你不能使用Odoo的智能记录('dot'表示法)。
如果要使用关系字段设置域,可以执行的操作如下:
1)声明一个相关字段,将该名称“拉”为关系字段中的字符串 week_name = fields.Char(related ='xx_event_id.xx_weeks.name')
2)在视图中插入该字段为不可见。通过这种方式,它不会改变我们的观点,我们仍然可以访问它。
3)更改关系字段中的过滤器
这应该可行,但您可能在您的域中出现了逻辑错误。您检查VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh /bin/bash -c 'make yesterday_stats'
可能是否需要不同的内容,例如[('id', 'in', xx_event_id.xx_weeks.name)]
如果是,请相应修改上述示例。