Django:如何限制从模型返回的对象数量

sin*_*inθ 10 python django

我在数据库中有一个"新闻"标题列表,其中包含以下字段:ID,标题,日期.我想获得十个最新的(或者如果少于十个则检索所有这些).

就像是:

news = News.objects.order_by("date").first(10)
Run Code Online (Sandbox Code Playgroud)

san*_*lto 25

这是你需要做的:

news = News.objects.order_by("-date")[:10]
Run Code Online (Sandbox Code Playgroud)

这里有几件有趣的事情.

首先,要获得最新消息,您需要降序.(那是" - 日期"部分)[0]

第二部分是限制结果集[1].它与Python列出切片[2]共享相同的界面,但这些是不同的东西.请仔细阅读.

[0] https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by

[1] https://docs.djangoproject.com/en/dev/topics/db/queries/#limiting-querysets

[2] http://docs.python.org/2/tutorial/introduction.html