我正在编写一个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
即使event_time
比现在的时间大,我也会得到True
,而在这种情况下,我想要False
。
发布于 2018-07-04 23:17:51
通过数组从queryset中获取位置,甚至不检查它是否有值是一个很糟糕的问题,建议不要这样做,如果您想要第一个元素,请尝试使用函数.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
https://stackoverflow.com/questions/51176406
复制相似问题