我有一个many2one字段引用res.users模型。我有两组,经理和用户。基于组,我如何过滤用户。这样,many2one字段只给出了管理器或用户?
发布于 2016-04-29 13:12:04
我要分享一个答案。检查它是否有用。(我没有试过)
在odoo中创建组时,可以在创建用户时选择相应的组。为此,odoo将自动创建一个类似于sel_group_14_15的选择字段。例如,如果有两个组,比如用户和管理器(在您的情况下)。对于此选择字段,用户的键值可为14,管理器的键值为15。因此,为了进行基于组的筛选,在域中使用此字段。由于该字段是res.users的一部分,因此可以在域中直接使用该字段。
例如,请参考这个。
domain=[('sel_group_14_15','=',14)] --- for filtering users
domain=[('sel_group_14_15','=',15)] ---- for filtering manager发布于 2017-06-11 11:47:10
设置这些过滤器的最佳方法如下:
user = fields.Many2one(comodel_name='res.users', string="User", domain="[]")
@api.onchange('some_field')
@api.model
def set_domain(self):
group = self.env.ref(module_name.group_xml_id)
users = []
for user in group.users:
users.append(user.id)
return {'domain':{'user':[('id','in',users)]}}https://stackoverflow.com/questions/36929785
复制相似问题