Django: モデルから返されるオブジェクトの数を制限する方法 質問する

Django: モデルから返されるオブジェクトの数を制限する方法 質問する

データベースに、ID、タイトル、日付のフィールドを持つ「ニュース」の見出しのリストがあります。最新の 10 件の見出しを取得したいです (10 件未満の場合はすべて取得します)。

何かのようなもの:

news = News.objects.order_by("date").first(10)

ベストアンサー1

必要なことは次のとおりです:

news = News.objects.order_by("-date")[:10]

ここではいくつか興味深いことが起こっています。

まず、最新のニュースを取得するには、降順が必要です。(「-date」の部分です)[0]

2番目の部分は結果セットを制限することです[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/#クエリセットの制限

[2]チュートリアル

おすすめ記事