我正在使用django并尝试创建一个context_processor,他将创建一个可以在我的基本模板中显示的新闻帖列表。我的代码看起来像这样。
from news.models import Post
def get_news_title(request):
return{
'get_news_title': Post.objects.all().reverse()[:5]
}
但它仍然只显示我的前5个新闻帖...
任何提示?
答案 0 :(得分:0)
Django docs明确表示
通常只应在具有a的QuerySet上调用reverse() 定义排序(例如,在查询定义a的模型时) 默认排序,或使用order_by()时。如果没有这样的排序 为给定的QuerySet定义,对它调用reverse()没有实际意义 效果(在调用reverse()之前,排序是未定义的,和 之后将保持不确定状态。)
因此您需要使用order_by('some field here')
。
例如:
Post.objects.order_by('id').reverse()[:5]
的文档