即时通讯在qweb报告中遇到问题,我按照本教程http://blog.emiprotechnologies.com/create-qweb-report-odoo/创建qweb报告,它与我当前模块的静态数据配合得很好,但是当我尝试为动态数据创建一个解析器类,我得到这个错误"QWebException:"'NoneType'对象不可调用"评估"这里它是我的python类:
from openerp.osv import osv
from openerp.report import report_sxw
class etudiant_report_parser(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(etudiant_report_parser, self).__init__(cr, uid, name, context=context)
self.localcontext.update({
'hello_world': self.hello_world,
})
self.context = context
def hello_world(self):
return "hello"
class etudiant_object_report(osv.AbstractModel):
_name = 'report.gestion_des_etudiants.etudiant_report'
_inherit = 'report.abstract_report'
_template = 'gestion_des_etudiants.etudiant_report'
_wrapped_report_class = etudiant_report_parser
Run Code Online (Sandbox Code Playgroud)
在我的xml文件etudiant_report.xml中,我添加了以下行:
<span t-esc=”hello_world()”/>
Run Code Online (Sandbox Code Playgroud)
但是当我打印报告时,我收到错误:
QWebException: "'NoneType' object is not callable" while evaluating
Run Code Online (Sandbox Code Playgroud)
这是我模块的树状结构:
/ report/init .py <---加载包含解析器类的etudiant_report.xml
/report/etudiant_report.py <--- ...包含解析器类
/views/report_etudiant.xml <---报告的xml文件
init .py
openerp .py
etudiant_view.xml
etudiant_report.xml <---报告的菜单
etudiant.py …