Odoo 10从记录中

时间:2017-02-18 01:47:45

标签: openerp

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

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

level record._name的行值会将当前模型的名称作为字符串,例如product.productsale.order

但是,我不认为_name属性不属于公共API的一部分。有没有人知道检索模型名称的公共方法?

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我没有看到另一种方式。 _name是"私人"并且您可以使用__str__,它将为您提供模型名称和当前RecordSet的ID。 odoo的模型名称的正则表达式是r'^[a-z0-9_.]+$',所以我建议,你已经知道的事情:最后修剪一切。