Query datetime by today's date in Django
I remember there being plans to add a __date
field lookup to make this easier, but as it stands the "standard" way of doing it is
today_min = datetime.datetime.combine(datetime.date.today(), datetime.time.min)
today_max = datetime.datetime.combine(datetime.date.today(), datetime.time.max)
Invoice.objects.get(user=user, date__range=(today_min, today_max))
You can also do something like this:
today = date.today()
invoice_for_today = Invoice.objects.filter(date__year=today.year, date__month=today.month, date__day=today.day)
in django<1.9
from django.utils.timezone import datetime #important if using timezones
today = datetime.today()
foo_for_today = Foo.objects.filter(datefield__year=today.year, datefield__month=today.month, datefield__day=today.day)
in django>1.9, as they added the date keyword
foo_for_today = Foo.objects.filter(datefield__date=datetime.date.today())