2015-01-27 3 views
1

У меня есть модель с выделенной датой и временем, я хочу отфильтровать будущие события и в итоге написал это, что не круто. Есть ли более приятный способ? Могу ли я использовать comb() и min() для этого? Как вы можете видеть в запросе, он должен включать в себя сегодня событие с течением времени> теперьфильтр дата и время фильтра в django

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

ответ

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)) 
Смежные вопросы