Dtcloud的异样抛出往往令人摸不着头脑,本文记录了一些自己在应用过程中遇到的一些异样以及解决的形式,配上异样截图不便日后能够”按图索骥”。目前所记录的问题可能还比拟全面,日后还当欠缺。以下是注释:

 剖析异样:模型 dtb.air.base 继承了不存在的模型 dtb.equipment.list解决形式:模块的 __manifest__.py 文件的depends字段中增加模型 dtb.equipment.list 所在模块包名。

 剖析异样:报错提醒模型 dtb.energy.base中sbomp_park_code字段related参数援用的字段不存在。解决形式:自行决定增加related参数援用的字段或删除sbomp_park_code字段。

 剖析异样:简略的KeyError异样,很难一眼看出哪里的问题,惟一的提醒就是dtb_energy_report_id。

 追踪到出异样的代码,是一个One2many字段加载呈现了问题,即模型中的相干字段加载呈现了问题,按图索骥找到dtb_energy_report_id对应的字段。

One2many实例化的inverse_name参数必须是comodel_name中已存在的。解决办法:批改使得One2many的inverse_name参数存在于dtb.energy.report.line中。

 剖析异样:乍一看同上一个问题相似,但并不是,标红处是在加载时执行的办法,能够看出环境变量中缺失对应的模型类。解决办法:模块的 __manifest__.py 文件的depends字段中增加模型dtb.measurement.level所在模块包名。

 剖析异样:同是KeyError异样,这里是模型未加载胜利,咱们能够在重启的日志中发现问题

 很显著就是__manifest__.py文件的依赖写错导致了本模块未加载胜利。解决办法:增加缺失的逗号即可。


 剖析异样:注册核心不存在模型dtb.car,就是模型没有被注册,通常是缺失对应的模块依赖。解决办法:模块的 __manifest__.py 文件的depends字段中增加模块名 dtb_car。

 

 剖析异样:加载xml文件找不到对应模型,即模型未注册,个别是依赖问题。解决形式:模块的 __manifest__.py 文件的depends字段中增加依赖名。  


 剖析异样:数据模块呈现的异样,在data目录下的xml文件中,一个模型id进行创立或更新记录时找到了不同的dtb.equipment.list记录,xml文件中可能存在雷同的id解决形式:批改record标签中的id,使得每个都是繁多不反复的。

作者:吴超