Reputation: 42717
I have a django model with a DateTimeField
called when
which I want to match against a Date
object. Is there a way to do that in django's queryset language better than
Samples.objects.filter( when__gte = mydate, when__lt = mydate + datetime.timedelta(1) )
Upvotes: 0
Views: 364
Reputation: 32602
Same like W_P, off the top of my head:
Samples.objects.filter(when__year = mydate.year, when__month = mydate.month, when__day = mydate.day)
You can round that up to year, month, day. This is the way I create posts archive in my code. I have three options: yearly archive, monthly archive and daily archive. The difference between them is the combination of arguments.
Upvotes: 2
Reputation:
Just off the top of my head, I suppose you could do this:
def tomorrow(dt):
return dt + datetime.timedelta(1)
# ...
Samples.objects.filter( when__gte = mydate, when__lt = tomorrow(mydate) )
I know it doesn't really *solve* your problem, but at least it looks nicer...
Upvotes: 0