【问题标题】:How to add a search domain to an existing search filter in Odoo?如何将搜索域添加到 Odoo 中的现有搜索过滤器?
【发布时间】:2023-02-26 17:31:34
【问题描述】:

我向销售订单添加了一个新的标题字段。 现在我还希望能够在销售订单列表视图中按该字段进行搜索。

如果我运行下面的代码,它会起作用,但它似乎有点矫枉过正:

<record id="view_sales_order_filter_inherit_sale" model="ir.ui.view">
        <field name="name">sale.order.filter.toledo.sale</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_sales_order_filter" />
        <field name="arch" type="xml">
           <!-- <field name="name" position="attributes">
                <attribute name="filter_domain">
                    "['|', '|',('name', 'ilike', self),('client_order_ref', 'ilike', self),'|',('partner_id', 'child_of', self),('title','ilike', self)]"
                </attribute>
            </field>
            -->
            <field name="name" position="replace">
                <field name="name" string="Order"
                    filter_domain="['|', '|',('name', 'ilike', self),('client_order_ref', 'ilike', self),'|',('partner_id', 'child_of', self),('title','ilike', self)]"/>
            </field>
        </field>
    </record>

我正在寻找更简洁的东西......比如只是替换“订单”过滤器的域......以下不起作用:

<record id="view_sales_order_filter_inherit_sale" model="ir.ui.view">
        <field name="name">sale.order.filter.toledo.sale</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_sales_order_filter" />
        <field name="arch" type="xml">
           <field name="name" position="attributes">
                <attribute name="filter_domain">
                    "['|', '|',('name', 'ilike', self),('client_order_ref', 'ilike', self),'|',('partner_id', 'child_of', self),('title','ilike', self)]"
                </attribute>
            </field>
        </field>
    </record>

给出错误:

原因:InvalidDomainError:无效域 AST

是域名本身的问题还是其他问题? 我可以使用职位“属性”来实现这一目标吗?

【问题讨论】:

    标签: view odoo extending odoo-16


    【解决方案1】:

    来自 Odoo documentation

    如果 attribute 元素有主体,则在匹配的节点上创建一个以其 name 命名的新属性,并将 attribute 元素的文本作为值

    Odoo 会将引号添加到域并使域不正确,您需要删除域列表周围的双引号

    如果您收到以下错误:

    ValueError: Invalid field %s in leaf %s
    

    将字段添加到搜索视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-14
      相关资源
      最近更新 更多