我有一個數據庫中的「新聞」標題列表,其中包含以下字段:標識,標題,日期。我想得到最新的十個(或者如果少於十個,就檢索它們)。Django:如何限制從模型返回的對象數
喜歡的東西:
news = News.objects.order_by("date").first(10)
我有一個數據庫中的「新聞」標題列表,其中包含以下字段:標識,標題,日期。我想得到最新的十個(或者如果少於十個,就檢索它們)。Django:如何限制從模型返回的對象數
喜歡的東西:
news = News.objects.order_by("date").first(10)
這就是你需要做什麼:
news = News.objects.order_by("-date")[:10]
有去的一對夫婦有趣的事情在這裏。
首先,要獲得最新消息,您需要降序排列。 (這是「日期」部分)[0]
第二部分是限制結果集[1]。這與Python列表Slicing [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
退房:https://docs.djangoproject.com/en/dev/topics/db/queries/ #限制查詢集 –
@JonClements謝謝。你知道它是否適用於'get_or_404()'? –
我不會這麼認爲 - 「最多10個」不包含任何結果,因此您必須檢查是否屬於這種情況,並且手動執行404 –