オブジェクトリストに返されるアイテムの数を表示するタグとは何ですか?たとえば、/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. LinQ結果セットのカラム数とカラム名を取得する
- 2. 返される結果セットをCoreDataに制限する
- 3. 結果セットからCLSQLのフィールド名と型を取得する
- 4. サービスレイヤから返される結果のタイプは何ですか?
- 5. 複数の結果セットを取得する
- 6. カーソル(結果セット)を返す関数
- 7. 複数の結果セットを返すストアドプロシージャから挿入する
- 8. ストアドプロシージャから結果セットを取得
- 9. oracleストアドプロシージャから結果セットを取得
- 10. ストアドプロシージャは結果セットを返すことができますか?
- 11. 結果セットのオブジェクトからメタデータを取得する
- 12. postgresテーブルのすべての行に返される関数をセットしてすべての結果を返す
- 13. Doctrine 2、左の結合結果セットでプロパティを取得する方法は?
- 14. SPARQL結果セットからデータを取得する
- 15. 既存の結果セットに結果セットを追加する
- 16. 結果セットのデータを月ごとに取得する方法は?
- 17. 結果セットを実行しているときに結果セット
- 18. なぜezSQLは空の結果セットを返すのですか
- 19. 結果セットと戻り値を返すストアドプロシージャの戻り値を取得することができません
- 20. cfcから複数のストアドプロシージャの結果セットを返す
- 21. bigintを返すときに関数が結果セットを関数から返すことができません
- 22. PHPのMySql結果セットから内部リソースポインタを取得するには?
- 23. PHPが大きなSQL結果セットから変数を取得する
- 24. 結果セット全体を取得しないJSPページネーションですか?
- 25. csvで書かれた行数と結果セットの行数を比較する
- 26. Drupalビューの結果セットを取得する
- 27. CloudKitで返される結果の数を制限する
- 28. POSTGRES JDBCで複数の結果セットを使用するには?
- 29. PDO:fetchColumnは返された結果セットのポインタを移動しますか?
- 30. 結果のグループ化されたセットの最小値を取得します
'count'はクエリセット全体を評価する必要はないので、代わりに' count(*) 'で別のSQLリクエストを使用するので、より効率的になります。 –
@Guillaume、実際には 'length'は単に' len'を呼び出し、Djangoはクエリーセットがまだ評価されていない場合に 'count(*)'を実行するのに十分なインテリジェントです。実際には、後でそれをやり直すつもりなら、 'len'は2つのdbコールを行うのを妨げるので、より効率的にすることができます。 –
おかげさまで、私はDjangoが「長さ」についてとても賢かったとは思っていませんでした。そして、あなたは 'len' *がより効率的になることができるという事実について明らかに正しいです。 –