オブジェクトリストに返されるアイテムの数を表示するタグとは何ですか?たとえば、/search/q=my search text here
というビューでは、ユーザーの検索クエリに一致する記事の一覧が表示されます。テンプレートでは、検索によって返された記事の数を表示します。結果セットに返されるアイテムの数を取得するdjangoテンプレートタグとは何ですか?
12
A
答えて
41
1
count()
メソッドは、呼び出されたクエリセットによって取得されたアイテムの数を取得します。
+0
はしかし、注意することはその '{{articles.count}}' –
+2
一つのことのようにそれを使用してください。クエリーセットがまだ評価されていなければ、 'count'はSQL COUNTを実行します。その後、後で反復すると、別のDBクエリ(SELECT)が行われます。それは2つの質問です。クエリーセットなどを実際にループする前にカウントが必要な場合は、 '{{articles | length}}'がより効率的です。 –
4
私が思うに、これを行うための最善の方法は次のとおりです。
{{ articles.count }}
関連する問題
- 1. Poco :: Dataで複数の結果セットを取得するには?
- 2. LinQ結果セットのカラム数とカラム名を取得する
- 3. はDjangoのテンプレートでフィルタリングされた結果の数を取得する
- 4. 複数の結果セットをセールで取得するjs
- 5. 結果セットからCLSQLのフィールド名と型を取得する
- 6. 返される結果セットをCoreDataに制限する
- 7. サービスレイヤから返される結果のタイプは何ですか?
- 8. ストアドプロシージャでDBから返された結果の数を取得するPHP
- 9. CSVにエクスポートされた検索結果を取得する - django
- 10. 複数の結果セットのみを取得する
- 11. laravel複数の結果セットを取得する
- 12. 複数の結果セットを取得する
- 13. メソッドから返された結果を両方取得する
- 14. 変数が返された結果を得ることは可能ですか?
- 15. カーソル(結果セット)を返す関数
- 16. 複数の結果セットを返すストアドプロシージャから挿入する
- 17. フォーマットされた日時フィールドでdjangoクエリーセットの結果を取得するには
- 18. ストアドプロシージャから結果セットを取得
- 19. oracleストアドプロシージャから結果セットを取得
- 20. Linq C#で複数の結果セットを取得するにはどうすればよいですか?
- 21. 複数の結果セットから単一のJavaリストにデータを取得する
- 22. Powershellの結果セットがC#で取得されない
- 23. ストアドプロシージャは結果セットを返すことができますか?
- 24. 結果セットのオブジェクトからメタデータを取得する
- 25. テーブルとその子テーブルから結果セットを取得するにはどうすればよいですか?
- 26. selectクエリのPHPプリペアドステートメントで返される行数を決定するときに結果セットを格納する理由は何ですか?
- 27. neo4jで結果を何回取得するのですか?
- 28. Oracle DBからスクロール可能な結果セットを取得する
- 29. Laravelから配列結果セットを取得する方法
- 30. UNION ALL結果セットから合計を取得する
'count'はクエリセット全体を評価する必要はないので、代わりに' count(*) 'で別のSQLリクエストを使用するので、より効率的になります。 –
@Guillaume、実際には 'length'は単に' len'を呼び出し、Djangoはクエリーセットがまだ評価されていない場合に 'count(*)'を実行するのに十分なインテリジェントです。実際には、後でそれをやり直すつもりなら、 'len'は2つのdbコールを行うのを妨げるので、より効率的にすることができます。 –
おかげさまで、私はDjangoが「長さ」についてとても賢かったとは思っていませんでした。そして、あなたは 'len' *がより効率的になることができるという事実について明らかに正しいです。 –