class Event(models.Model):
name = models.CharField(max_length=255)
start = models.DateTimeField()
stop = models.DateTimeField()
now = timezone.now() # 08:30 am
qs = Event.objects.filter(start__gte=now) #but this exclude `event1`
事件对象:
name start stop
event1 20.11.2015 08:15 20.11.2015 09:30
event2 20.11.2015 09:30 20.11.2015 10:25
获取包括当前正在进行的活动的最佳方法是什么?
答案 0 :(得分:1)
根据您对Anush的评论,您可能想尝试以下方法:
now = timezone.now().date()
qs = Event.objects.filter(
start__year__lte=now.year,
start__month__lte=now.month,
start__day__lte=now.day,
)
不幸的是,当前稳定的django版本(1.8)无法将日期时间字段截断为日期,这就是您需要单独指定年,月和日的原因。
本文撰写的最新开发版本(1.9)提供了__date
lookup,应该解决这个问题。
答案 1 :(得分:0)
尝试:
now = timezone.now()
qs = Event.objects.filter(start__lte=now, end__gte=now)