簡體   English   中英

如何在odoo中過濾一周中的任何一天?

[英]How to filter for any day of the week in odoo?

例如:我需要過濾“星期一”的任務,但我不知道該怎么做。
我已經嘗試了幾種方法,但是找不到解決方案。

我在“上周”和“本周”做到了:

<filter string="Last Week" name="last_week" separator="1"
        domain="[('date', '&gt;=', ((context_today()+relativedelta(weeks=-2, days=1, weekday=0)).strftime('%Y-%m-%d'))),
               ('date', '&lt;=', ((context_today()+relativedelta(weeks=-1,weekday=6)).strftime('%Y-%m-%d')))]"/>

<filter string="This Week" name="this_week" separator="1"
        domain="[('date', '&lt;=', ((context_today()+relativedelta(weeks=0, days=7, weekday=-1)).strftime('%Y-%m-%d'))),
               ('date', '&gt;=', ((context_today()-relativedelta(weeks=1, weekday=0)).strftime('%Y-%m-%d')))]"/>

有任何想法嗎? 對不起,我的英語。

我偶然發現了您的問題,同時也在尋找解決方案。 我不確定是否相關,但即使不相關也可能對其他人有所幫助。

這是我過去某一天獲得過濾器的解決方案。 如果要過濾星期一和今天的所有數據,那么今天是星期六,此解決方案將為您服務。

('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。 (即星期一= 0,星期二= 1,等等)

B =您想回去的幾周。 (如果是同一周,請刪除)

因此,如果您想獲取上周星期一的數據,則應該可以使用:

<filter 
string="Last Week" 
name="last_week" 
separator="1"
domain="[('date','&gt;=',(context_today()-relativedelta(days=(context_today().weekday()-0))).strftime('%Y-%m-%d')), 
        ('date','&lt;',(context_today()-relativedelta(days=(context_today().weekday()-0))).strftime('%Y-%m-%d'))]"
/>

希望它能有所幫助,並且能奏效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM