Django 1.10 and even more 1.11 comes with convenient methods for annotating date parts to your query.
Django comes with these methods in terms of date manipulating
- ExtractYear
- ExtractMonth
- ExtractDay
- ExtractWeekDay
- ExtractWeek
and with these in terms of time
- ExtractHour
- ExtractMinute
- ExtractSecond
Then you can go like:
from django.db.models.functions import ExtractWeek
my_query.annotate(week=ExtractWeek(“created”))
Here is link to the docs.
Thank you!