小能豆

在django中过滤组合的日期和时间

py

我有一个带有独立日期和时间的模型,我想过滤未来事件,但最后写了这个,这不太好。有没有更好的方法?我可以以某种方式使用 Combine() 和 Min() 来实现这一点吗?正如您在查询中看到的,它必须包含时间 > 现在的今日事件

future_events = CauseEvent.objects.filter(cause=instance).exclude(date__lt=datetime.now().date()).exclude(date=datetime.now().date(),


阅读 18

收藏
2024-12-04

共1个答案

小能豆

from django.db.models import Q

today = datetime.now().date()
now = datetime.now().time()

future_events = CauseEvent.objects.filter(cause=instance) \
                                  .exclude(Q(date__lt=today) |
                                           Q(date=today, time__lt=now))
2024-12-04