您的位置:首页 > 运维架构

OpenERP 搜索过滤: 过去三个月

2015-09-17 11:43 204 查看
解决这个问题的重点在于 relativedelta 的应用

示例代码如下:

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


解释:

第4行:
time.strftime('%%d/%%m/%%Y')
返回的是当前日期;
<=
是小于号, 在 XML 中只能这样表示. 这一行表示: “在今天之前”.

第5, 6, 7行:
context_today()
是 OpenERP 中另外一种返回当前日期的方式, 它减去
relativedelta(months=3)
就是三个月前. 这三行表示: “大于三个月前”, 其中
>=
是 XML 中的大于号.

合起来表示”三个月前到今天”, 即”过去三个月
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: