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

问题描述 投票:1回答:3

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

openerp odoo-8 odoo-9
3个回答
2
投票

你问的不清楚你想要做什么,但如果你想获得模型的名称,那么你应该去找下面的答案。

如果您可以通过输出或更多细节详细说明您的问题,那就太好了。

你应该尝试以下,

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

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


1
投票

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

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

0
投票

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

# 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'
© www.soinside.com 2019 - 2024. All rights reserved.