我正在编写一个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
。
答案 0 :(得分:0)
从查询集中按数组获取位置,甚至不检查它是否具有难闻的气味,建议不要这样做,如果要让第一个元素尝试使用函数.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