动态地为Odoo中的one2many字段应用过滤器

时间:2016-11-27 14:35:30

标签: python openerp

当我点击按钮或更改另一个字段时,我需要过滤one2many树中显示的记录

我用不同的技术尝试了几十次,但它没有工作

这是最后一次找出问题的尝试

首先在主模型中

current_exercise = 'exercise 1'   

generalFitnessDetails = One2many("spogaze.general_fitness_details", "generalFitnessDetails",                                     domain=[('exercise', '=', '%s' % current_exercise)])

以O2M字段表示的详细模型具有“锻炼”功能。我需要应用过滤器的字段取决于它

在主模型中我添加了一个功能来改变' current_exercise'值并应用过滤器

@api.one
def next_exercise(self):
        self.current_exercise = 'exercise 2' 

        return {'domain': {'generalFitnessDetails': [('exercise', '=', self.current_exercise)]}}

但是会发生的是第一个应用的过滤器,它在我点击按钮之前在O2M字段创建中说明,但是在点击按钮之后的字段" current_exercise"更改但过滤器不适用

1 个答案:

答案 0 :(得分:0)

在我看来,你不需要按钮来实现这一点。

在one2many模型中创建一个相关字段,如 -

'current_exercise' = field.Type(related="many2one_field.current_exercise",
                                string="your string")

然后根据相关字段编写域名。