请帮我。我有一个模型'res.users'。我希望在我的模型中存在(声明)名称字段。我该怎么办?谢谢。
你问的不清楚你想要做什么,但如果你想获得模型的名称,那么你应该去找下面的答案。
如果您可以通过输出或更多细节详细说明您的问题,那就太好了。
你应该尝试以下,
model = self.env['ir.model'].search([('model','=','res.users')])
if model:
print model.name
但是,您可以访问该模型的所有字段。 ir.model中有field_id(one2many)字段。
据我了解你的问题,我想你想检查名称字段是否存在于值中。因此,在编写任何方法时,您可以使用一小段代码进行检查。喜欢:
if 'name' in vals:
"You block of CODE"
如果我理解正确,您想知道哪个字段被视为名称字段(因为它可以在声明类时使用_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'