【发布时间】:2014-03-20 12:49:58
【问题描述】:
如何获取任何模型中字段的标签名称?
例如这样写:
obj = self.read(cr,uid,ids)[0]
它将在给定记录中获取字段名称(技术名称或数据库列名称)及其值的字典。
所以例如输出会是这样的:
{'field1': 10, 'field2': 'hello', 'field3': 3.56}
但是它不返回字段的标签,我也不能从这里访问它,因为这里的字段名只是一个字符串。
假设会有上面提到的这些字段:
_columns = {
'field1': fields.integer('First Field'),
'field2': fields.char('Second Field', size=128),
'field3': fields.float('Third Field'),
}
那我怎么能得到这个(我知道确切的输出是不可能的,因为标签不是关键,但我只是为了更好地理解问题而展示它):
{'First Field': 10, 'Second Field': 'hello', 'Third Field': 3.56}
所以我认为检索标签的代码可能看起来像这样:
for k, v in obj.iteritems():
print k.label
但是没有这样的属性。在 fields.py 文件中,我在大多数字段类型中看到 string 命名属性用作标签的输入,它具有默认输入 string='unknown',但我不知道如何在迭代模型中的所有字段时检索它.
有人知道怎么做吗?
附:为什么我需要这个?我需要找到值满足特定条件的字段,然后将该字段标签写入其他表中。我可以写列名,但简单的用户将需要查看该数据,因此他们需要了解该字段的含义,这就是我需要检索字段标签的原因。
【问题讨论】: