2016-12-02 66 views
0

我有Django應用程序(與Django應用程序1.8和Django休息框架3.3.1)。我有模型與事件,我只想顯示最後4個事件,但如果是在date_start後10分鐘,我想再次獲得最後4個事件。檢查日期並從django查詢集採取另一項

我不確定我的代碼是否正常工作。

class BoxView(generics.ListAPIView): 
    queryset = Events.objects.all() 
    serializer_class = BoxSerializer 

    def get_queryset(self): 
     last_events_list = Events.objects.all().order_by('-date_start')[:4] 
     for i in last_events_list: 
      if i.date_start < now() + timedelta(minutes=10): 
       return last_events_list 
      else: 
       return last_events_list 

回答

2

你只需要__lt

before = now() + timedelta(minutes=10) 
last_events_list = Events.objects.filter(date_start__lt=before).order_by('-date_start')[:4] 
+1

非常感謝您篩選的事件。太棒了! –