0

我正在尝试通过单击按钮更新 many2one 字段的域过滤器,该函数运行,但我在 UI 上看不到任何更改,这是我正在使用的类:

class ProjectTask(models.Model):
    _inherit = 'project.task'

    my_users = fields.Many2one('res.users', string="My Users", readonly=False)

    def filterUsers(self):
        domain = ...mydomainTogetUsers
        filtered_users = self.env['res.users'].search(domain).mapped('id')
        return {'domain': {'my_users ': [('id', 'in', filtered_users)]}}   

我在视图上有以下对象按钮来执行功能:

<button name="filterUsers" string="Filter Users" type="object" class="oe_highlight"/>

函数被执行,但 many2one 字段保持不变。

调用函数后有什么方法可以更新字段列表吗?

4

1 回答 1

0

尝试更改您的搜索方法,如下所示:

def filterUsers(self):
    domain = ...mydomainTogetUsers
    filtered_users = self.env['res.users'].search(my_users).mapped('id')
    #or this line:
    filtered_users = self.env['res.users'].mapped(my_users).mapped('id')
    return {'domain': {'my_users ': [('id', 'in', filtered_users)]}} 
于 2020-03-06T08:18:05.930 回答