django-qsstats icon indicating copy to clipboard operation
django-qsstats copied to clipboard

for_week/this_week implementation

Open davidbgk opened this issue 15 years ago • 1 comments

Because it's too bad it's not bundled:

from dateutil.relativedelta import relativedelta, MO

def for_week(self, dt, date_field=None, aggregate_field=None, aggregate_class=None):
    date_field = date_field or self.date_field
    aggregate_class = aggregate_class or self.aggregate_class
    aggregate_field = aggregate_field or self.aggregate_field

    self.check_date_field(date_field)
    self.check_qs()

    first_day = datetime.date(year=dt.year, month=dt.month, day=dt.day)
    first_day = first_day - relativedelta(weekday=MO(-1))
    last_day = first_day + datetime.timedelta(days=7)

    return self.get_aggregate(first_day, last_day, date_field, aggregate_field, aggregate_class)

def this_week(self, date_field=None, aggregate_field=None, aggregate_class=None):
    return self.for_week(self.today, date_field, aggregate_class)

davidbgk avatar Oct 29 '10 22:10 davidbgk

David, hi again. This issue is also resolved here: http://bitbucket.org/kmike/django-qsstats-magic/src

kmike avatar Oct 29 '10 23:10 kmike