Report 将变量get_pdf()保存到fields.binary中

Report 将变量get_pdf()保存到fields.binary中,report,odoo,odoo-8,qweb,Report,Odoo,Odoo 8,Qweb,我想从get\u pdf函数将变量自动保存到fields.binary(电子邮件\u附件\u文件)中 我的代码如下: 类示例\u示例(models.Model): email_attachment_file=fields.Binary('Data(.txt.pdf')) email_filename=fields.Char('filename')) def生成(自身等): 报告名称=“报告名称模板” 数据={ “ID”:[], “模型”:等等, “形式”:等 “上下文”:上下文 } moddel

我想从get\u pdf函数将变量自动保存到fields.binary(电子邮件\u附件\u文件)中

我的代码如下:

类示例\u示例(models.Model):
email_attachment_file=fields.Binary('Data(.txt.pdf'))
email_filename=fields.Char('filename'))
def生成(自身等):
报告名称=“报告名称模板”
数据={
“ID”:[],
“模型”:等等,
“形式”:等
“上下文”:上下文
}
moddelReport=self.pool.get('report'))
alpha=modelReport.get_pdf(cr,uid,[],报告名称,无,数据,上下文=context)
#alpha=base64.decodestring(alpha)
#alpha=alpha.decode('unicode_escape')。encode('utf-8'))
#------如何将alpha变量保存到fields.binary中
还有,modelReport.get\u pdf函数是否有问题?

使用编码字符串()而不是解码字符串()

report_obj = self.pool.get('report')
data =  modelReport.get_pdf(cr, uid,[],report_name,None,datas,context=context)
self.email_attachment_file  = base64.encodestring(data)

数据返回为%PDF-1.3 1 0 obj>endobj 2 0 obj get_PDF以字符串格式返回报告,因此需要使用base64.encodestring(数据)将其转换为二进制。