I've been running into a similar issue, and here's what I think is going on. When you use the queryset
class attribute, the query gets run on each request, but the timezone.now()
call within the Manager does not get run on each request, only at class instantiation. Try using the get_queryset method instead, which forces it to be run on each request:
class NewsAndEventsOverView(ListView):
model = News
context_object_name = 'news_list'
def get_queryset(self):
return News.published.all().order_by('-publication_date')
...