我在博客项目工作,我有'最后的帖子'在汽车类的职位部分,我想从数据库中获得我的模型的最后3个对象,并与上下文发送到模板。'car_post':post.objects.filter(category__name = 'car')[:3]我试过这段代码,但我认为它显示在数据库中的前3个职位怎么办?
icnyk63a1#
您可以使用**.reverse()**[Django-doc]来反转查询集:
.reverse()
post.objects.filter(category__name='car').reverse()[:3]
字符串但很可能你可以更有效和描述性,如果你可以订购,例如像created_at这样的字段,那么它是:
created_at
post.objects.filter(category__name='car').order_by('-created_at')[:3]
型这也更好,因为QuerySet,除非以某种方式排序,否则不保证任何排序,因此取决于数据库,它每次都可以以不同的顺序返回对象。
QuerySet
注意:Django中的模型是用 PascalCase 编写的,而不是 snake_case,所以你可能想把模型从post重命名为Post。
post
Post
oxf4rvwz2#
这是正确的列表切片,用于检索可迭代对象中的最后3个元素
post.objects.filter(category__name = 'car')[-3:]
字符串
2条答案
按热度按时间icnyk63a1#
您可以使用**
.reverse()
**[Django-doc]来反转查询集:字符串
但很可能你可以更有效和描述性,如果你可以订购,例如像
created_at
这样的字段,那么它是:型
这也更好,因为
QuerySet
,除非以某种方式排序,否则不保证任何排序,因此取决于数据库,它每次都可以以不同的顺序返回对象。注意:Django中的模型是用 PascalCase 编写的,而不是 snake_case,所以你可能想把模型从
post
重命名为Post
。oxf4rvwz2#
这是正确的列表切片,用于检索可迭代对象中的最后3个元素
字符串