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

Odoo 15中筛选POS可用商品时域表达式报错如何解决?

解决POS商品选择框筛选可用商品的问题

首先排查字段定义是否正确:

  • 确认你扩展product.template的代码无误,字段available_in_pos已正确注册:
    from odoo import models, fields
    
    class ProductTemplate(models.Model):
        _inherit = 'product.template'
    
        available_in_pos = fields.Boolean(string='POS可用', default=True)
    
  • 确保模块已安装并更新,数据库中product.template表确实存在该字段。

如果域表达式仍报错,推荐通过product.product关联字段实现筛选:
因为POS中选择的product_id对应product.product模型,直接跨模型引用模板字段可能因层级识别问题触发错误。可以给product.product添加关联字段:

from odoo import models, fields

class ProductProduct(models.Model):
    _inherit = 'product.product'

    available_in_pos = fields.Boolean(related='product_tmpl_id.available_in_pos', string='POS可用', store=False)

然后在视图的product_id字段域中使用:

<field name="product_id" domain="[('available_in_pos', '=', True)]"/>

另外也可以检查以下几点:

  • 确认字段名拼写无错误,比如是否把available_in_pos写成了其他名称
  • 检查当前用户是否有访问product.template.available_in_pos字段的权限,若自定义了权限组,需确保权限包含该字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:31:12