鼎铭网是领先的新闻资讯平台,汇集美食文化、体育健康、教育科研、热点新闻、投资理财、国际资讯、等多方面权威信息
2021-04-07 20:32:23
今天在生产系统中查询产品时,莫名提示错误:maximum recursion depth exceeded while calling a Python object,根据错误日志提示,发现在查询产品时,系统会构造一个domain,查询所有库位的库存量。当仓库较多的时候,构造的这个domain比较长,然后解析这个domain的方法distribute_negate是递归调用,因为递归次数太多,所以就提示错误。
根据源码查看了生成domain的条件,这个部分不太好调整,所以后来直接找了个方法来增加递归的深度。在任意脚本中增加如下代码:
import sys sys.setrecursionlimit(1000000)
执行这个代码后,递归深度调整到一百万层,基本上足够使用了。
openerp.hk openerp.hk openerp.hk