2017-08-11 214 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 
相關問題