The range filter works as follows:
MyModel.objects.filter(date__range=(range_start, range_end))
You can use this in conjunction with datetime.timedelta to get monthly periods. For instance:
from datetime import datetime, timedelta now = datetime.now()
source share