在使用oe开发的过程中,我们会经常定义一些selection类型的栏位,并且存入数据库的值与显示在界面上的值并不相同。
例如这样子的定义:"cx_time": fields.selection( [(7, u'7点'), (8, u'8点'), (9, u'9点'), (10, u'10点')], u'时间', required=True),
这样子如果我们在代码中要根据数据库中的记录取得后面要显示的中文时就不好处理了,实际上oe已经有提供给了我们一个方法,可以取到这个栏位定义的列表清单。
上面的定义,我们在onchange方法中使用这样的语法,可以取到一个列表。
sel = dict(fields.selection.reify(cr,uid,self,self._columns['cx_time'],context=context))
sel的结果就是一个字典 {7:u'7点',8:u'8点',9:u'9点',10:u'10点'}
然后根据数据库实际值k,就可以用sel.get(k)取到后面的中文或详细的描述了。
本文介绍在OE开发过程中如何高效地处理selection类型的字段。通过使用内置的方法,可以在代码中轻松地将数据库中的值转换为界面上展示的中文描述。
469

被折叠的 条评论
为什么被折叠?



