Odoo Help


how filter last week

Tekse Arpad
on 2/24/14, 10:03 AM 7,447 views

I want to filter last week. I mean if today is Monday, I want to have the date between last week's Monday to last week's Friday, and if today is Tuesday I want to have also the date between last week's Monday to last week's Friday.

I looked at python relativedelta and I succeded the following in python:

datetime.now()+ relativedelta(weeks=-1, weekday=MO)
datetime.now()+ relativedelta(weeks=-1, weekday=FR)

But I can't adapt to openerp v7. I tried with numbers instead of MO, FR, but no success. Please help me.

Thanks, TArpi

Thanks prakash! I saw that post, but that is about "today and 7 days", but I need last week no matter the day we are in this week. I mean I need the date of last week's monday and last week's friday, if we are on today, or tomorrow or so on (in this week). I hope I made myself clear. Sorry for my english. Thanks. TArpi

Tekse Arpad
on 2/24/14, 10:47 AM

Any answer?

Tekse Arpad
on 3/3/14, 2:53 AM
On 9/30/14, 4:33 PM

Try the web_relativedelta module from OCA: https://github.com/OCA/web/tree/7.0/web_relativedelta.

This module brings the "weekday" parameter of relativedelta to work as expected in views and the following code to work:

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

Note that last monday is (weeks=-2, days=1, weekday=0) and not (week=-1, weekday=0) which would give monday of this week.

Thanks Nicolas !!

on 1/13/15, 9:39 PM
Estaj IT
On 6/20/17, 7:57 AM

You Can easily add or subtract number of days  , this is an example works with me:


so for your case you can do like this :


so for your case you can do like this :


Estaj IT
on 6/20/17, 7:58 AM
Ashif Abdulrahman
On 3/3/14, 5:13 AM

try this

<filter icon="terp-go-week"
 string="Last 7 Days"

Thanks, but this is about "the past 7 days" but I need last (past) week, no matter if today is Monday, or Tuesday, etc.

Tekse Arpad
on 3/11/14, 6:33 PM



| 5 5 7
Bikaner, India

OpenERP Developer at SunARC Technology

On 3/3/14, 3:41 AM

Based on your python code the below code will adapt in openerp xml file

In python,

weekday=0 is equal to Monday 
weekday=4 is equal to Friday

Xml File

<filter icon="terp-document-new" string="Last weeK" name="flastweek"
- relativedelta(weekday=0, weeks=-1)).strftime('%Y-%m-%d'))),
- relativedelta(weekday=4, weeks=-1)).strftime('%Y-%m-%d')))]"

Thanks, but unfortunately the weekday isn't functioning in Oerp 7. As seen here: http://help.openerp.com/question/27660/weekday-does-not-work-in-relativedelta/ and here: http://stackoverflow.com/questions/22062960/openerp-search-view-how-to-get-current-date-weekday

Tekse Arpad
on 3/11/14, 6:37 PM



| 5 5 7
Bikaner, India

OpenERP Developer at SunARC Technology

On 2/25/14, 10:27 AM

Try the below code in openerp xml file:-

<filter icon="terp-document-new" string="Last week" name="flastweek"
domain="[('date_order','&gt;=', ((context_today()  + relativedelta(days=-1, weeks=-1)).strftime('%Y-%m-%d'))),
         ('date_order','&lt;=', ((context_today()  + relativedelta(days=3, weeks=-1)).strftime('%Y-%m-%d')))

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

0 follower(s)


Asked: 2/24/14, 10:03 AM
Seen: 7447 times
Last updated: 6/20/17, 7:57 AM