django-qsstats
django-qsstats copied to clipboard
for_week/this_week implementation
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)
David, hi again. This issue is also resolved here: http://bitbucket.org/kmike/django-qsstats-magic/src