这是我的功能
def get_concat(self, cr, uid, ids, field_name, arg, context):
x = {}
for record in self.browse(cr, uid, ids ,context):
x[record.id] = record.a+"--"+ record.b
return x
字段的定义
'a' : fields.integer('A'),
'b' : fields.integer('B'),
'concat' : fields.function(get_concat, method=True, string='Inventaires',type='char', size=40),
我的树视图没有显示任何记录。当我评论函数字段时,一切都很好。这就是我知道我的功能不正确的方式 你能告诉我在这个功能中犯了什么错误! 谢谢
答案 0 :(得分:3)
字段a和字段b都是整数。 没有类型转换的python中无法实现int和str连接。
所以要么你错误地定义了a,b的数据类型(使用char作为数据类型)或者使用
$ x [record.id] = str(record.a或'')+“ - ”+ str(record.b或'')
答案 1 :(得分:2)
如果您告诉追溯信息,我可以帮助您。
但是如果你想以安全的方式连接并且避免无法想象的回溯,那么在python中使用BTW我会改变你的行。
x [record.id] = record.a +“ - ”+ record.b
通过
x [record.id] =“%s - %s”%(str(record.a),str(record.b))
答案 2 :(得分:1)
在第一个站点,您的功能看起来很好。
但是当record.a或reocrd.b值为“False”时会发生错误
它会尝试将False连接到String。
所以在这种情况下,你必须先在条件变量之前检查条件。