1

私のデータベースには次のようなテーブル(モデル)があります:

名前|平均|評価

マルコ| 9.6 | 1

マルコ| 9.3 | 2

ケビン| 8.8 | 1

ケビン| 9.4 | 2

したがって、次のようにテンプレートにテーブルを表示するには、このデータを取得する必要があります。

名前| eval1 | eval2

マルコ| 9.6 | 9.3

ケビン| 8.8 | 9.4

ビューでクエリを実行するにはどうすればよいですか?

4

1 に答える 1

1

ORM だけを使用してこれを行う簡単な方法はありません。使ってみてくださいitertools.groupby:

from itertools import groupby

results = ModelCls.objects.order_by("name")

grouped = groupby(results, lambda r: r.name)

モデルが名前別にグループ化されました。

for name, objects in grouped:
    # process model objects in each group
    for obj in objects:
        # do something with each object

groupby オブジェクトをテンプレートに渡すと問題なく動作するはずですが、これはジェネレーターであり、反復処理を行うと使い果たされることに注意してください。

于 2013-02-08T00:39:12.873 に答える