Хотя сам набор запросов ленив, оценка datetime.now()
не является;это будет установлено во время первого импорта класса. Таким образом, вы никогда не увидите никаких результатов с датой после этого времени.
Для чего-либо динамического, подобного этому, вы должны переместить его из уровня класса в метод, в данном случае метод get_queryset
:
class LastPredictionsListView(ListView):
template_name = 'app/prediction_last_list.html'
def get_queryset(self):
return Prediction.objects.filter(~Q(prediction_result=None), date__lt=datetime.now())