如何根据用户身份使用 ODOO 隐藏字段?

How do I hide a field using ODOO based on who the user is?

我想对某些用户隐藏字段。

我试过这个:

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

我的尝试无效。

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

然后换一个视图:

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