Odoo 10 从记录中获取型号名称

标签 odoo

我正在 Odoo 10 中的服务器操作中创建日志条目。这是服务器操作 Python 代码:

if record:
    env['ir.logging'].create({
        'type': 'server',
        'name': 'test',
        'level': record._name,
        'path': 'test',
        'line': 'test,
        'func': '#',
        'message': '#'
    })

record._namelevel 行值以字符串形式获取当前模型的名称,例如 product.product,或sale.order

但是,我认为 _name 属性不应该成为公共(public) API 的一部分。有谁知道检索模型名称的公共(public)方法吗?

model 变量也可在服务器操作中使用,该操作返回 product.product()。但是,想要product.product,不带括号。我意识到我可以使用字符串方法来修剪 (),但我想知道是否有一种预期的方法可以仅将模型名称作为字符串获取。

有什么想法吗?

最佳答案

我没有看到其他方法。 _name 是“私有(private)”,您可以使用 __str__,它将为您提供当前 RecordSet 的模型名称和 ID。 odoo 模型名称的正则表达式是 r'^[a-z0-9_.]+$',所以我建议,您已经知道的是:修剪掉最后的所有内容。

关于Odoo 10 从记录中获取型号名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42310167/

相关文章:

python - 如何从 Odoo v10 中删除此 Controller 错误

python - 如何在odoo中弹出成功消息?

XML Odoo 字段条件颜色格式

button - 看板 View 中项目的“active_id”?

php xmlrpc 读取

odoo - 如何在 openerp 6.1 中将 one2many ListView 分组到另一个模型中?

javascript - 如何在 Odoo 10 中应用 jquery/javascript 照片标签代码

Odoo 10 - 获取当前用户以在邮件模板中使用

odoo - 创建一个要继承的空选择

python - odoo 8 中 bool 字段的 onchange 函数