我需要制作UI many2one dopdown list,我可以识别依赖于Manager组角色的用户。
现在我有下拉字段:
test = fields.Many2one('res.groups', 'Purchase request type', default=_get_users, track_visibility='onchange')
我尝试编写一个函数,可以识别所有依赖于经理组角色的用户。
def _get_users(self):
pickings = self.env['res_groups_users_rel'].search([('gid','=',61)])
pickings_available = []
for picking in pickings:
pickings_available.append(picking)
return pickings_available
我收到了一个错误:
return self.models[model_name]
KeyError: 'res_groups_users_rel'
我不知道如何更改此功能并从amy2many关系中获取价值。
我将我的功能改为:
def _get_users(self): pickings = self.env [' res.groups']。浏览(61).users pickings_available = [] 挑选采摘: pickings_available.append(采摘) return pickings_available
和字段:
test = fields.Many2one(' res.users','有些文字',默认= _get_users,track_visibility =' onchange')
我记录了函数_get_users
并获取了值:[res.users(9,), res.users(65,)]
但我仍然无法在我的测试字段下拉列表中获取这些值。我做错了什么?
答案 0 :(得分:1)
如果您尝试获取属于某个组的所有用户,为什么不执行以下操作:
self.env['res_groups'].browse(61).users
在旁注中,您可能会收到错误,尝试将列表作为默认值分配给Many2one字段。
此外,您似乎将属于某个组的用户分配给指定用于存储对组的引用的字段。
如果您需要一个字段来选择属于ID为61的组的用户,您可以执行以下操作:
test = fields.Many2one('res.users', 'Some description', domain="[('groups_id', 'in', [61])]")