如何在Odoo(OpenERP)中获取模型的名称字段?

时间:2016-12-15 08:20:19

标签: openerp odoo-8 odoo-9

请帮帮我。我有一个模型'res.users'。我希望在我的模型中存在(声明)名称字段。我该怎么办?感谢。

3 个答案:

答案 0 :(得分:2)

你的问题并不清楚你想用它做什么,但是如果你想获得模型的名称,那么你应该回答以下答案。

如果你能用输出或更多细节详细说明你的问题,那就太好了。

你应该尝试一下,

model = self.env['ir.model'].search([('model','=','res.users')])
if model:
    print model.name

但是,您可以访问该模型的所有字段。 ir.model 中有field_id(one2many)字段。

答案 1 :(得分:1)

据我了解您的问题,我认为您要检查值中是否存在名称字段。 因此,在编写任何方法时,您可以使用一小段代码进行检查。 像:

if 'name' in vals:
    "You block of CODE"

答案 2 :(得分:0)

如果我正确理解,您想知道哪个字段被视为名称字段(因为在声明类时可以使用_rec_name对其进行修改)。我认为您只需要根据这段相反的models.py代码检查._rec_name:

# validate rec_name
if cls._rec_name:
    assert cls._rec_name in cls._fields, \
        "Invalid rec_name %s for model %s" % (cls._rec_name, cls._name)
elif 'name' in cls._fields:
    cls._rec_name = 'name'
elif 'x_name' in cls._fields:
    cls._rec_name = 'x_name'