TypeError:'bool'类型的对象没有len() - Odoo v9

时间:2016-08-24 02:29:26

标签: python openerp odoo-9

我正在尝试通过Odoov9模块连接到Web服务。

这是我的班级:

Component

但每次它解析代码以连接到服务器时,都会抛出此错误:

var comp = _Context.Components.SingleOrDefault(c => c.ComponentID == compId);
var dict = new Dictionary<string, int>()
{
    { "Events", comp.Incidents.Count()},
    { "Drawings", comp.Drawings.Count()},
    { "Documents", comp.Documents.Count()},
    { "Tasks", comp.Tasks.Count()},
    { "Images", comp.Images.Count()},
    { "Instructions", comp.Instructions.Count()}
};

错误在这一行

.Include

我搜索了SO,它似乎与括号有关,但我仍然不太确定。

有关于此的任何想法吗?

提前致谢!

修改

这是设置它的代码:

var comp = _Context.Components
    .Include(c => c.Incidents)
    ...
    .SingleOrDefault(c => c.ComponentID == compId);

1 个答案:

答案 0 :(得分:3)

当您尝试访问 self.sii_xml_request。首先检查它的值是否为空。

在您的情况下,它返回一个空字符串 False 。要避免这种情况,请尝试以下代码:

_logger.info('len (como viene): %s' % (len(self.sii_xml_request) if self.sii_xml_request else '')

这只会记录self.sii_xml_request&#39;如果它有一个值。否则它只会记录一个空字符串。你可以改变这个当然是为了记录你想要展示的不同的东西,如果在#self.sii_xml_request&#39;中没有价值。