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

Odoo 16中扩展pos.config字段并继承_loader_params_pos_config方法时报错求助

Odoo 16中扩展pos.config字段并继承_loader_params_pos_config方法时报错求助

大家好,我在Odoo 16里尝试给pos.config添加自定义字段restrict_create_customer,同时继承pos.session的_loader_params_pos_config方法,把这个字段加载到POS会话中,结果触发了如下错误:

TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'list'

我的Python代码如下:

from odoo import models, fields

class PosConfigInherit(models.Model):
    _inherit = 'pos.config'
    restrict_create_customer = fields.Boolean(help="Show employee login screen")

class ConfigSettingsInherit(models.TransientModel):
    _inherit = 'res.config.settings'
    pos_module_restrict_create = fields.Boolean(related='pos_config_id.restrict_create_customer', readonly=False)

class PosSession(models.Model):
    _inherit = 'pos.session'

    def _loader_params_pos_config(self):
        result = super()._loader_params_pos_config()
        result['search_params']['fields'].append('restrict_create_customer')
        return result

可能的错误原因及解决办法:

  • 模块依赖未配置
    一定要确保你的模块__manifest__.py里添加了'depends': ['point_of_sale'],毕竟pos.config和pos.session都是point_of_sale模块下的模型,没有依赖的话很容易出现继承异常或者字段加载失败的问题。

  • 检查返回结果的结构
    在Odoo 16中,_loader_params_pos_config返回的search_params里的fields应该是一个列表。如果调用super()后拿到的result结构不对,比如fields变成了方法而非列表,就会触发这个错误。可以先打印result确认结构:

    def _loader_params_pos_config(self):
        result = super()._loader_params_pos_config()
        print(result)  # 打印查看结构是否符合预期
        result['search_params']['fields'].append('restrict_create_customer')
        return result
    

    如果确认fields不是列表,也可以改用列表拼接的方式:

    result['search_params']['fields'] = result['search_params']['fields'] + ['restrict_create_customer']
    
  • 确认字段已成功创建
    先升级模块,然后在开发者模式下查看pos.config的字段列表,确认restrict_create_customer字段已经存在。如果字段没创建成功,后续的加载自然会出错。

  • 检查继承的正确性
    确认PosSession类的_inherit = 'pos.session'没有拼写错误,并且你的模块已经被正确安装到系统中。

额外建议:

如果上面的方法都没解决问题,可以试试清除Odoo缓存,重启服务后再重新升级模块,有时候缓存会导致继承的方法没有被正确加载。

备注:内容来源于stack exchange,提问作者Abdullah Elshoura

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 12:35:26