データベースを照会してオブジェクトのリストを作成したときに、ジンジャーテンプレート内のオブジェクトのリストの長さを見つけるにはどうすればよいですか?DBSession.queryの結果であるジンジャーテンプレートのリストの長さ
私はThere are {{ items|length }} items in this category.
が働くだろうと思ったが、項目が結果です:
items = db_session.query(Item).filter_by(category_id=category.id)
と私は
TypeError: object of type 'Query' has no len()
明らかにエラーを取得し、私は別途長さを計算し、render_template()
に渡すことができますが、私はもっと良い方法があるかどうか疑問に思いましたか?
コミュニティからすべてのヘルプははるかに高く評価されるだろう:)
ありがとうSergey。 .all()が行方不明になっていたことに気付かなかった。奇妙なことに、未完成のクエリを使用してjinjaのオブジェクトをループすることはできますが(未完成であっても)、長さのフィルタは機能しませんでした。 –
@SimonOtter可能性があります: 'Query'オブジェクトはジェネレータとして動作します。' all() 'を呼び出さずに反復処理を行うことができます。この機能はジンジャーテンプレートでも使用できるので、ループコードがうまく機能しました。 –