如何使用查询集从博客(使用 django 构建)中获取过去一小时内发布的所有帖子?

How can I obtain all posts published in the last hour from a blog (built with django) with a queryset?

这是我的想法,但显然行不通....

谢谢

def PostUltimaOra(request):
    PostsLastHour = Post.objects.filter(pub_date__time__range=(datetime.time.now, datetime.time(now- 1h)))
    return render(request, 'blog/numeroposts.html', {'PostsLastHour': PostsLastHour})

二元组的第一个元素是最小边界,因此你应该交换元素:

from datetime import timedelta
from django.utils.timezone import now

def PostUltimaOra(request):
    dt = now()
    PostsLastHour = Post.objects.filter(<b>pub_date__range=(dt-timedelta(hours=1), dt)</b>)
    return render(request, 'blog/numeroposts.html', {'PostsLastHour': PostsLastHour})

如果在当前时间戳后没有Posts,你可以过滤:

from datetime import timedelta
from django.utils.timezone import now

def PostUltimaOra(request):
    dt = now() - timedelta(hours=1)
    PostsLastHour = Post.objects.filter(<b>pub_date__gte=dt</b>)
    return render(request, 'blog/numeroposts.html', {'PostsLastHour': PostsLastHour})