如何根据用户是谁使用ODOO隐藏字段?

KAK*_*RDO 2 openerp odoo-8 odoo-9 odoo-10

我想隐藏某些用户的字段.

我试过这个:

   <field name="note_project" attrs="{'invisible': [('members','=',user.id)]}"/> 
Run Code Online (Sandbox Code Playgroud)

我的尝试不起作用.

小智 5

Odoo视图不具有user上下文,因此您无法在那里进行比较.此行为仅适用于访问规则.相反,您可以在模型字段内定义is_member,该字段用于计算给定用户是否为成员.

is_member = fields.Boolean('Is member', default=False, compute='_compute_is_member')

@api.multi
def _compute_is_member(self):
    for record in self:
        if self.env.uid in record.members:
            record.is_member = True
Run Code Online (Sandbox Code Playgroud)

然后更改视图:

<field name="note_project" attrs="{'invisible': [('is_member','=',True)]}"/>
Run Code Online (Sandbox Code Playgroud)