You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Odoo中通过计算方法获取二进制字段图片的URL

在Odoo中通过Binary字段上传图片并生成图片URL

以下是实现通过Binary字段上传图片,并利用compute方法自动计算出可访问的图片URL的完整代码:

image = fields.Binary(string='分类图片', required=True)
image_url = fields.Char('图片URL', compute="get_image_url")

def get_image_url(self):
    web_base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
    for record in self:
        # 两种URL格式任选其一,下方为查询参数式写法
        record.image_url = f'{web_base_url}/web/image?model={self._name}&id={record.id}&field=image'
        # 注释内容为路径式写法,功能与上方一致
        # record.image_url = f'{web_base_url}/web/image/{self._name}/{record.id}/image'
        print(record.image_url)

关键说明

  • web.base.url:通过系统参数获取当前Odoo实例的基础访问地址,确保生成的URL能正确指向实例
  • 两种URL格式:
    1. 查询参数式:/web/image?model=模型名&id=记录ID&field=字段名,兼容性更强
    2. 路径式:/web/image/模型名/记录ID/字段名,写法更简洁
  • compute方法需遍历每条记录,保证每条数据都能生成对应的专属图片URL

内容的提问来源于stack exchange,提问作者coool ksh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:25:29