2016-12-20 3 views
1

이벤트 목록이 있습니다. ListView를 사용하여 렌더링합니다. models.py에서ListView 장고에 조건부 필터 추가

ListView에서

def event_date_time(self): 
    event_date_time = datetime.combine(self.event_date, self.event_time) 
    return event_date_time 

는 나 또한 now= datetime.utcnow()

가의 검색어하는 필터를 추가해야합니다.

if now > event_date_time: 
    #don't render that event 
else: 
    #render 

답변

1

장고 필터링에서는 모델 함수를 사용할 수 없습니다. DateTimeField를 사용하여 event_date 및 event_time을 하나의 속성에 저장해야합니다. 그런 다음 ListView에서 'get_queryset'함수를 다음과 같이 재정의하십시오.

def get_queryset(self): 
    return Event.objects.filter(event_datetime__gte=datetime.now())