Получение времени от django.utils.timezone - PullRequest
0 голосов
/ 04 июля 2018

Я пишу приложение Django, в котором у меня есть модель событий с полем event_time и полем event_date. Я хочу проверить, началось ли и продолжается ли событие.

Если запланированная для события дата совпадает с сегодняшней датой, а запланированное для события время меньше, чем сейчас, это означает, что событие началось; иначе событие не началось.

Вот мой код:

context['is_ongoing'] = context['event'][0].event_date == datetime.now().date() and timezone.now().time() >= context['event'][0].event_time

Я получаю True, даже если event_time больше, чем время сейчас, тогда как в этом случае я хочу False.

1 Ответ

0 голосов
/ 04 июля 2018

Получение позиции по массиву из набора запросов, даже не проверяя, имеет ли он значение, имеет неприятный запах, советуем не делать этого, если вы хотите первый элемент, попробуйте использовать функцию .first ()

import datetime

event = context['event'].first()
if event:
    context['is_ongoing'] True if event.event_date >= datetime.datetime.now().date() and event.event_time >= datetime.datetime.now() else False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...