2017-08-11 211 views
-5

我打开与many2many域的表单视图,出现此错误:类型错误:“BOOL”类型的对象没有LEN()

File "/home/ingeos/coas/server/openerp/osv/osv.py", line 199, in execute 
    res = self.execute_cr(cr, uid, obj, method, *args, **kw) 
    File "/home/ingeos/coas/server/openerp/osv/osv.py", line 187, in 
    execute_cr 
    return getattr(object, method)(cr, uid, *args, **kw) 
    File "/home/ingeos/coas/server/openerp/osv/orm.py", line 3623, in read 
    result = self._read_flat(cr, user, select, fields, context, load) 
    File "/home/ingeos/coas/server/openerp/osv/orm.py", line 3744, in 
    _read_flat 
    res2 = self._columns[f].get(cr, self, ids, f, user, context=context, 
    values=res) 
    File 
    "/home/ingeos/coas/server/openerp/addons/one2many_sorted/__init__.py", line 113, in get 
    o = getattr(o, m) 
    File "/home/ingeos/coas/server/openerp/osv/orm.py", line 497, in 
__getattr__ 
    return self[name] 
File "/home/ingeos/coas/server/openerp/osv/orm.py", line 468, in __getitem__ 
    elif field_column._type in ('one2many', 'many2many') and 
    len(result_line[field_name]): 
TypeError: object of type 'bool' has no len() 

你能告诉我是什么问题?

+4

欢迎来到Stack Overflow!寻求调试帮助的问题(“**为什么不是这个代码工作?”)必须包括期望的行为,特定的问题或错误以及在问题本身**中重现**的最短代码。没有**明确问题陈述**的问题对其他读者无益。请参阅:[如何创建最小,完整和可验证示例](https://stackoverflow.com/help/mcve)。 –

+0

如果你问odoo中的某些东西只需添加openerp标签,我们可以更好地理解你的问题。 – Cherif

回答

2

您收到此错误是因为Many2many字段为空.in odoo空字段为False。这就像你在做什么。

 len(False) 

请记住,在使用它之前,请务必检查该字段。

if rec.your_field_name: 
      #then use it 
相关问题