Джанго сравнение даты и времени - PullRequest
0 голосов
/ 12 декабря 2011

Я пытаюсь найти записи в приложении Django, где поле datetime старше, чем текущее datetime.

У меня есть что-то вроде этого:

records = Record.objects.filter(my_field__lte=datetime.now())

Однако он находит толькозаписи, в которых дата старше, чем сегодня (если есть записи старше, чем сейчас, но на сегодняшнюю дату, они не возвращаются.)

Редактировать: просто чтобы уточнить.Если для поля установлено значение 19:59:00 12-10-2011, а текущее время - 20:00:00 12-10-2011, я бы хотел, чтобы эта запись возвращалась в наборе запросов.Однако на самом деле он не возвращается, пока запрос не будет выполнен на следующий день.(Он запускается каждые пять минут в cronscript и используется для отправки электронных писем на основе этого поля даты и времени)

Надеюсь, что это проясняется.

Кстати, я использую MySQL

Может кто-нибудь помочь?

Любой совет приветствуется.

Спасибо

Ответы [ 2 ]

1 голос
/ 18 февраля 2013

проверка в базе данных, если вы можете видеть атрибуты времени, следующая проверка, если у вас есть модели. DateTimeField в ваших моделях и нет моделей. DateField по ошибке

0 голосов
/ 13 декабря 2011

Просто проверьте завтра в полночь, а не сейчас:

now = datetime.now()
midnight = datetime(now.year, now.month, now.day+1, 0, 0, 0)

records = Record.objects.filter(my_field__lt=midnight)

Или вы можете использовать date.today и timedelta, чтобы получить тот же эффект:

from datetime import date, timedelta

tomorrow = date.today() + timedelta(days=1)
records = Record.objects.filter(my_field__lt=tomorrow)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...