Odoo 12: KeyError: 'ir.values'

Odoo 12: KeyError: 'ir.values'

我正在尝试在 odoo 应用程序中创建一个新联系人,但它向我显示此错误:

KeyError: 'ir.values'

问题与此功能有关。

 class ResPartner(models.Model):
_inherit = 'res.partner'

def _default_credit_limit(self):
    return self.env['ir.values'].get_default('account.config.settings', 'credit_limit')

没看懂问题

你能帮帮我吗

你确定这个设置已经存在了吗?我不确定,但找不到它,我知道它在 Odoo 8 中存在。除此之外,我认为它不再存在了:account.config.settings 100% 肯定不存在,因为设置模型被重构为 res.config.settings.

实际上合作伙伴字段 credit_limit 也不见了。因此,如果您想使用它并在代码之外有一个默认值,请使用 ir.default 来实现您想要的行为。

KeyError: 'ir.values'

如果你在 Odoo 12 上 运行 self.env['ir.values'],你会得到上面的错误,因为 ir.values 模型在 Odoo 12 中不存在。

删除了 ir.values 模型并替换为 ir.default。例如:

self.env['ir.default'].get('sale.order', 'sale_order_template_id')

可以看到相关文件in the Odoo core code or the commit where most of that Model was added.