2017-10-09 91 views
2

在Odoov10中应用函数时出现以下错误。TypeError:Odoov10中+:'bool'和'str'不支持的操作数类型

TypeError: unsupported operand type(s) for +: 'bool' and 'str'.

我的Python代码是在这里:

@api.multi 
def name_get(self): 
    result = [] 
    print "re:", result 
    for record in self: 
     print "R:", record 
     name = '[' + record.pet_name + ']' + ' ' + record.name 
     result.append((record.id, name)) 
    return result 

回答

1

当我们做串联两个以上的字符串,那么我们就需要确保它有值的字符串类型。否则,我们会遇到目前遇到的同样的错误。

我预测,我们有值record.name

尝试用下面的代码:

@api.multi 
def name_get(self): 
    result = [] 
    for record in self: 
     name = '[' 
     if record.pet_name: 
      name += record.pet_name + ']' + ' ' + record.name 
     else: 
      name += '] ' + record.name 
     result.append((record.id, name)) 
    return result 
+0

使用,而不是 'ELIF' –

+0

你好Odedra '别人', 我想这个条件只有特定的领域。我怎么能这样做?现在,变化反映了所有形式。我只想要machine_weigh类。 感谢您的帮助。 –

+0

是的。这是正确的。它将反映你把Many2one领域放在哪里。开新的问题会很好。所以其他人会得到这个答案的好处。 –

相关问题