Сопоставление даты и времени с датой в Джанго - PullRequest
0 голосов
/ 21 октября 2010

У меня есть модель django с DateTimeField с именем when, которую я хочу сопоставить с Date объектом. Есть ли способ сделать это на языке запросов django лучше, чем

Samples.objects.filter( when__gte = mydate, when__lt = mydate + datetime.timedelta(1) )

Ответы [ 2 ]

2 голосов
/ 21 октября 2010

То же самое, что и W_P, с моей головы:

Samples.objects.filter(when__year = mydate.year, when__month = mydate.month, when__day = mydate.day)

Вы можете округлить это число до года, месяца, дня.Так я создаю архив сообщений в своем коде.У меня есть три варианта: годовой архив, ежемесячный архив и ежедневный архив.Разница между ними заключается в сочетании аргументов.

0 голосов
/ 21 октября 2010

Я полагаю, вы могли бы сделать это с макушки головы:

def tomorrow(dt):
    return dt + datetime.timedelta(1)

# ...

Samples.objects.filter( when__gte = mydate, when__lt = tomorrow(mydate) )

Я знаю, что это на самом деле не * решает * вашу проблему, но, по крайней мере, выглядит лучше ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...