odoo-006 计算字段不保存如何在视图上搜索

一、产生原因

odoo 的计算字段,如何没有属性 store=True是不能在视图上进行搜索的。但实际情况是,没有设置这个属性的还是需要在视图上可搜索,可以如下这样做。

二、设置字段参数 search

以下是官方 oodo13 版本中关于计算字段关于搜索的说明。大致意思有以下几点:

  1. 默认情况下,不会存储计算字段,而是在请求时计算并返回这些字段。设置store=True将它们存储在数据库中就可以使用搜索。
  2. 可以通过设置search参数来启用对计算字段的搜索。该方法是返回搜索域domain 的方法。
  3. 在对模型进行实际搜索之前处理 domain,将调用 search 方法。它必须返回类似这样的:field operater value

odoo 官方说明的 compute 字段 search 属性

三、搜索视图写法

<field name="arch" type="xml">
	<xpath expr="//field[@name='name']" position="after">
	    <field name="qty"/>  # 直接搜索字段
	</xpath>
	<xpath expr="//group[1]/filter[@name='name']" position="after">
	    <filter name="filter_qty_gt_zero" string="Quantity Greater Than Zero"
	            domain="[('qty', '>', 0)]"/>  # 写成有条件的筛选
	</xpath>
</field>

新学到的,以前知道有search这个属性,不知道这样写了以后,就可以保存的字段一样可以搜索了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sapphire~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值