首页 > 解决方案 > 如何使用 SQL 查询将图像保存到 odoo ir_attachment 表

问题描述

为了提高这个功能的速度,我们可以使用 SQL 查询而不是 Python ORM 方法。我有很多产品要保存product_template,同时将图像添加到表中时出现错误。之后,我识别出保存在ir_attchment表格中的图像。保存的图像无法进入视图。

product_obj("insert into 
ir_attachment(name,res_name,res_model,res_field,res_id,type) 
values(%s,%s,%s,%s,%s,%s)",
[image_medium,name,'product.template','image_medium',res[0],'binary'])

标签: pythonodooodoo-11

解决方案


当然在视图中是看不到的。二进制数据不再保存在数据库中。这就是为什么您的查询快捷方式不起作用的原因。

Odoo 中的某些Binary字段attachment设置了参数,True这意味着该字段的二进制数据将通过ir.attachment一些特殊配置保存到附件 ( ) 中。Odoo 使用该字段res_field以及稍后查找此类附件,res_id同时res_model为例如表单视图加载数据,因为您的查询也已经设置。

所以我的猜测是,Odoo 并没有在数据库中查找二进制数据。


推荐阅读