Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 6911|回复: 0
打印 上一主题 下一主题

开发搜索检索过去3个月的数据【转】

[复制链接]

119

主题

119

帖子

566

积分

高级会员

Rank: 4

积分
566
跳转到指定楼层
楼主
发表于 2016-8-17 23:12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开发实例之搜索过滤:检索过去3个月的数据
解决这个问题的重点在于 relativedelta 的应用

示例代码如下:


1:  <!-- filter: last three months -->
2:  <filter icon="terp-personal" name="last_three_month"
3:          string="Last 3 Months"
4:          domain="[('date','&lt;=',time.strftime('%%d/%%m/%%Y')),
5:                   ('date','&gt;=',
6:                    ((context_today() -
7:                     relativedelta(months=3)).strftime('%%d/%%m/%%Y')))
8:                  ]"/>

解释:

第4行: time.strftime('%%d/%%m/%%Y') 返回的是当前日期; &lt;= 是小于号, 在 XML 中只能这样表示. 这一行表示: “在今天之前”.
第5, 6, 7行: context_today() 是 OpenERP 中另外一种返回当前日期的方式, 它减去relativedelta(months=3) 就是三个月前. 这三行表示: “大于三个月前”, 其中 &gt;= 是 XML 中的大于号.
合起来表示”三个月前到今天”, 即”过去三个月”

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|技术支持|开发手册|Odoo中文网-远鼎旗下odoo培训网站 ( 苏ICP备15039516号 )

GMT+8, 2024-5-3 05:40 , Processed in 0.011879 second(s), 10 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表