You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中如何获取Car分类下数据库内最新的3篇博客文章?

获取Car分类下最新3篇文章的调整方案

你的问题出在QuerySet默认按正序排列(通常是主键id或模型定义的默认排序),直接切片[:3]会取到最早创建的3篇文章。只需添加倒序排序规则,就能获取最新的3篇。

调整后的代码示例

根据你的模型字段选择合适的排序字段:

  1. 按文章创建时间倒序(推荐,需模型有created_at字段):
'car_post': Post.objects.filter(category__name='car').order_by('-created_at')[:3]
  1. 按主键id倒序(如果主键是自增整数,最新文章id更大):
'car_post': Post.objects.filter(category__name='car').order_by('-id')[:3]

注意事项

  • 若模型的Meta类中设置了ordering属性,显式的order_by()会覆盖默认排序规则,确保你拿到的是预期的顺序。
  • 确保使用的排序字段(如created_at)已在Post模型中定义,例如:
class Post(models.Model):
    # 其他字段
    created_at = models.DateTimeField(auto_now_add=True)  # 自动记录创建时间

内容的提问来源于stack exchange,提问作者Armin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 06:14:52