【发布时间】:2021-04-11 19:09:58
【问题描述】:
Event 有两个 DateTimeField,我需要用相同的方法将它们与实际日期时间进行比较。
from django.utils import timezone
event_starts = models.DateTimeField(_("Event starts"))
registration_closes_at = models.DateTimeField(
_("Registration ends:"), null=True, blank=True
)
这是我尝试过的,但它不起作用。所以我需要的是:如果活动已经开始或注册已关闭,用户不能参加此活动。
def is_registration_open(self):
now = timezone.now()
passed_registration = now > self.registration_closes_at
passed_start = now > self.event_starts
if not passed_registration or not passed_start:
return
并尝试了这个:
def is_registration_open(self):
if (
not timezone.now() > self.registration_closes_at
or not timezone.now() > self.event_starts
):
return
这是一个失败:
'>' not supported between instances of 'datetime.datetime' and 'NoneType'
当我只比较 event_starts 时,一切正常。
感谢您的帮助!
【问题讨论】:
-
提示:如果数据库中的日期为空怎么办
标签: python django datetime django-models