我有一个分开的日期和时间的模型,我想过滤未来的事件,最后写这个,这不是很酷。有更好的方式吗?我可以用某种方式使用combine()和min()吗?正如您在查询中看到的那样,它必须包含今天的时间事件>现在
future_events = CauseEvent.objects.filter(cause=instance).exclude(date__lt=datetime.now().date()).exclude(date=datetime.now().date(),
time__lt=datetime.now().time()).exists()
答案 0 :(得分:2)
使用Q objects查找:
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))