例如:我需要过滤“星期一”的任务,我不知道该怎么做。
我试过几种方法,但我找不到解决办法。
我是为“上周”和“本周”做的:
<filter string="Last Week" name="last_week" separator="1"
domain="[('date', '>=', ((context_today()+relativedelta(weeks=-2, days=1, weekday=0)).strftime('%Y-%m-%d'))),
('date', '<=', ((context_today()+relativedelta(weeks=-1,weekday=6)).strftime('%Y-%m-%d')))]"/>
<filter string="This Week" name="this_week" separator="1"
domain="[('date', '<=', ((context_today()+relativedelta(weeks=0, days=7, weekday=-1)).strftime('%Y-%m-%d'))),
('date', '>=', ((context_today()-relativedelta(weeks=1, weekday=0)).strftime('%Y-%m-%d')))]"/>
任何有想法的人?对不起我的英语。
答案 0 :(得分:0)
我偶然发现了您的问题,同时也在寻找解决方案。我不确定是否相关,但即使不相关也可能对其他人有所帮助。
这是我获得过去某一天过滤条件的解决方案。如果您想过滤一个星期一的所有数据,那么今天是星期六,那么此解决方案将为您服务。
('create_date','>=',(context_today()-relativedelta(days=(context_today().weekday()-A), weeks=B)).strftime('%Y-%m-%d')),
('create_date','<',(context_today()-relativedelta(days=(context_today().weekday()-A))).strftime('%Y-%m-%d'))
其中:
A =工作日nr。 (即mon = 0,tue = 1等)
B =您想返回的周数。 (如果是同一周,请删除)
因此,如果您想获取上周一的数据,则应该可以:
<filter
string="Last Week"
name="last_week"
separator="1"
domain="[('date','>=',(context_today()-relativedelta(days=(context_today().weekday()-0))).strftime('%Y-%m-%d')),
('date','<',(context_today()-relativedelta(days=(context_today().weekday()-0))).strftime('%Y-%m-%d'))]"
/>
希望它会有所帮助并且起作用。