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

Odoo中如何在地址布局使用自定义字段?报错求助

解决Odoo报表地址块添加自定义字段时的格式错误问题

问题原因

在国家地址格式配置里,Odoo仅识别官方定义的格式变量(比如%(street)s、%(city)s这类带占位符的键),直接输入自定义字段名firm1会被判定为无效格式键,因为系统无法解析未注册的变量。

解决步骤

1. 让系统识别自定义字段

通过代码扩展地址字段列表,让Odoo把你的firm1字段纳入地址解析逻辑:

from odoo import models, fields, api

class ResPartner(models.Model):
    _inherit = 'res.partner'

    firm1 = fields.Char(string='Firm 1')

class ResCountry(models.Model):
    _inherit = 'res.country'

    @api.model
    def _address_fields(self):
        res = super()._address_fields()
        res.append('firm1')
        return res

写完代码后重启Odoo服务,升级对应的自定义模块。

2. 正确配置地址格式

回到【联系人>国家>我的国家】页面,在地址格式中用%(firm1)s作为占位符,示例格式如下:

%(firm1)s
%(street)s
%(street2)s
%(city)s %(state_code)s %(zip)s
%(country_name)s

这样保存时就不会再触发格式键无效的提示。

3. 验证报表显示

打开任意带地址块的报表(比如销售订单、发票),检查firm1字段是否正常出现在地址区域。

注意事项

  • 若涉及多语言环境,记得给firm1字段添加对应语言的翻译,避免报表显示原始字段名。
  • 确保自定义模块的依赖配置正确,避免出现加载顺序问题导致字段不生效。

内容的提问来源于stack exchange,提问作者unnamed-dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:17:07