Python – Getting all items less than a month old


Is there a way to get all objects with a date less than a month ago in django.

Something like:

items = Item.objects.filter(less than a month old).order_by(...)

Best Solution

What is your definition of a "month"? 30 days? 31 days? Past that, this should do it:

from datetime import datetime, timedelta
last_month = - timedelta(days=30)
items = Item.objects.filter(my_date__gte=last_month).order_by(...)

Takes advantange of the gte field lookup.