2016-12-20 26 views
1

私はイベントのリストを持っています。 ListViewを使用してレンダリングします。 ListView条件付きフィルタをListView Djangoに追加します

models.pyで

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

Djangoフィルタリングでモデル関数を使用することはできません。 event_dateとevent_timeを1つの属性に格納するには、DateTimeFieldを使用する必要があります。 ListViewで、次のようにget_queryset関数をオーバーライドします。

def get_queryset(self): 
    return Event.objects.filter(event_datetime__gte=datetime.now()) 
関連する問題