AssertionError: External ID must be fully qualified in odoo

AssertionError: External ID must be fully qualified in odoo

我正在研究 Odoo CRM。我继承了 CRM.lead 我添加了一些功能 我为它们添加了新的用户角色。

当我给定我创建的用户角色时,管理工作正常,但现在它抛出错误。

文件“.........base/res/res_users.py”,在 has_group 断言 group_ext_id 和 '.'在 group_ext_id、"External ID must be fully qualified"

"AssertionError: External ID must be fully qualified"

我试过了,但不行。

如果您知道您的宝贵建议,请帮助我。

我认为 res.usershas_group 方法没有获得完全限定的组 ID。我不知道那里发生了什么,但您可以通过覆盖 has_group 方法来绕过该错误。

为此,首先创建一个继承自定义模块中 res.users 的新模型。代码如下:

class Users(osv.osv):
    _inherit = 'res.users'
    _columns = {}

    def has_group(self,cr,uid,group_ext_id):
         if '.' in group_ext_id:
              users_group1 = [x.id for x in self.pool['ir.model.data'].get_object(cr, uid, 'bms',  'xml_id_group1').users]
              users_group2 = [x.id for x in self.pool['ir.model.data'].get_object(cr, uid, 'bms',  'xml_id_group2').users]

              if uid in users_group1:
                  return super(Users,self).has_group(cr,uid,'module.xml_id_group1')
              elif uid in users_group2:
                  return super(Users,self).has_group(cr,uid,'module.xml_id_group2')
              else:
                  return super(Users,self).has_group(cr,uid,'base.group_user')

         else:
             return super(Users,self).has_group(cr,uid,group_ext_id)

代替 xml_id_group1xml_id_group2 放置您遇到上述错误的组的组 ID。

希望对您有所帮助!