以下のクエリを使用して、データベースから 10 個のアイテムを取得します
itemobjects = Items.objects.all()[:10]
これを行うより良い方法はありますか?データベース内の項目数が増えると、上記のクエリは非常に遅くなり、約 1 ~ 2 秒かかるためです。
以下のクエリを使用して、データベースから 10 個のアイテムを取得します
itemobjects = Items.objects.all()[:10]
これを行うより良い方法はありますか?データベース内の項目数が増えると、上記のクエリは非常に遅くなり、約 1 ~ 2 秒かかるためです。
大きなテーブルであっても、これにはまったく時間がかかりません。Meta
モデルのクラスにデフォルトの順序を定義しましたか? おそらく、デフォルトでインデックスのないフィールドを注文するため、速度が低下している可能性があります。
とにかく、最新のエントリを取得するには、主キー (インデックスが作成されていることが保証されています) で並べ替えます。
itemobjects = Items.objects.all().order_by('-pk')[:10]
/edit: ヒント: モデル クラスに単数形の名前を付けるのが規則Item
ですItems
。