我怎样才能从一个带有queryset的博客(用Django构建)中获得过去一小时内发布的所有帖子?

2024-10-02 00:44:07 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的主意,但显然行不通

谢谢

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})

Tags: datetimedatereturnobjectstimerequestdefrange
1条回答
网友
1楼 · 发布于 2024-10-02 00:44:07

2元组的第一个元素是最小界限,因此应交换元素:

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

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

如果在当前时间戳之后没有Post,则可以使用以下选项进行筛选:

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

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

相关问题 更多 >

    热门问题