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

How to get name fields exist of model in Odoo(OpenERP)?

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

你的问题不太清楚你想用它做什么,但如果你想获得模型的名称,那么你应该按照下面的答案去做。

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

你应该尝试关注,

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

但是您可以访问该模型的所有字段。在 ir.model.

中有 field_id (one2many) 字段

据我了解你的问题,我认为你想检查值中是否存在 name 字段。 因此,当您编写任何方法时,您都可以使用一小段代码对其进行检查。 喜欢:

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

如果我理解正确的话,您想知道什么字段被视为名称字段(因为它可以在声明 class 时使用 _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'