python - 通过 QWeb 报告上的 fields.function 从数据库获取图像 - Odoo 8

标签 python report odoo odoo-8 qweb

我想打印一张图像,通过 fields.function 获取数据库中的任何图像。

我正在尝试以下操作:

def _get_image(self, cr, uid, ids, name, args, context=None):
    res = dict.fromkeys(ids)
    for record_browse in self.browse(cr, uid, ids):
        partner = self.pool.get('res.partner').browse(cr,uid,6,context=None).image
        res[record_browse.id] = base64.encodestring(partner)
    return res   

_columns = {
        'image': fields.function(_get_image, string="Image", type="binary"),
}

但在 qweb 报告中我得到:

  File "/opt/*/openerp/addons/base/ir/ir_qweb.py", line 791, in value_to_html
raise ValueError("Non-image binary fields can not be converted to HTML")
ValueError: Non-image binary fields can not be converted to HTML

如果我以表单打印图像,一切都会顺利。

如有任何帮助,我们将不胜感激,提前致谢。

最佳答案

试试这个代码:

def _get_image(self, cr, uid, ids, name, args, context=None):
    res = dict.fromkeys(ids)
    for record_browse in self.browse(cr, uid, ids):
        partner = self.pool.get('res.partner').browse(cr,uid,6,context=None).image
        res[record_browse.id] = base64.encodestring(partner)
    return res   

_columns = {
        'image': fields.binary("Image"),
        'image_x': fields.function(_get_image, string="Image", type="binary"),

}

关于python - 通过 QWeb 报告上的 fields.function 从数据库获取图像 - Odoo 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34026022/

相关文章:

xml - 有没有办法在 Jenkins 中为 JUnit 测试结果定义 "number of builds"?

python - 尝试通过 API 在销售订单行中添加服务产品时出现 "Record does not exist or has been deleted "错误

c# - 使用 FastReport.Net 创建报告

python - Flask:如何传递所有 GET 参数进行重定向?

Python replace() 带颜色的字符串?

Python 全局/局部变量

java - DOCX 报告 -> PDF 格式

XML Odoo 字段条件颜色格式

python - 从 bool 字段创建函数 odoo 10

python - Django ModelForm的插入表单也显示已有记录