Post.objects.filter(published_date__lte = timezone.now())

时间:2018-02-27 16:43:05

标签: django

我正在使用Django创建一个博客。我想使用命令 - Post.objects.filter(published_date__lte = timezone.now())使用Queryset从数据库中获取我的帖子 但我得到空白输出。我已使用以下方式导入时区 - 来自django.utils导入时区 这是一个截图 link to the screenshot

2 个答案:

答案 0 :(得分:0)

Post.objects.filter(published_date__lte=timezone.now())

此过滤器不会返回published_dateNone的任何帖子。

tutorial提供了如何发布帖子的说明。

>>> post = Post.objects.get(title="Sample title")
>>> post.publish()

这将为该帖子设置published_date,因此如果您重新运行过滤器命令,则应该返回该帖子。

>>> Post.objects.filter(published_date__lte=timezone.now())

答案 1 :(得分:0)

由于您的命令要求发布已发布的帖子,但尚未发布任何帖子,因此显示为空。

尝试一下:

post = Post.objects.get(title="Sample title") #Sample title is the name of the title
post.publish()
Post.objects.filter(published_date__lte=timezone.now())

<QuerySet [<Post: Sample title>]>

希望有帮助。