如何在 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'
请帮帮我。我有一个模型 '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'