Odoo error: return self.models[model_name] KeyError: 'res_groups_users_rel'

Odoo error: return self.models[model_name] KeyError: 'res_groups_users_rel'

我需要制作 UI many2one 下拉列表,我可以在其中识别依赖于管理员组角色的用户。

现在我有下拉字段:

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(自我): pickings = self.env['res.groups'].browse(61).users pickings_available = [] 在采摘中采摘: pickings_available.append(采摘) return pickings_available

和字段:

test = fields.Many2one('res.users', 'Some text', default=_get_users, track_visibility='onchange')

我记录了函数 _get_users 并获取了值:[res.users(9,), res.users(65,)]

但我仍然无法在我的测试字段下拉列表中获得这些值。我做错了什么?

如果您要获取属于某个组的所有用户,为什么不执行以下操作:

self.env['res_groups'].browse(61).users

附带说明一下,您可能会遇到错误,尝试将列表作为默认值分配给 Many2one 字段。

此外,您似乎正在将属于某个组的用户分配给指定用于存储对组的引用的字段。

如果您需要一个字段 select 属于 ID 为 61 的组的用户,您可以执行以下操作:

test = fields.Many2one('res.users', 'Some description', domain="[('groups_id', 'in', [61])]")