私はこれらのモデルを持っています:
class Assignment(db.Model):
title = db.StringPeoperty(required=True)
...other stuff...
class TeamScore(db.Model):
assignment = db.ReferenceProperty(Assignment,
collection_name="teamScores",
required=True)
teamID = db.IntegerProperty(required = True)
score = db.IntegerProperty(required = True)
...other stuff...
ここに問題があります。ホームページでは、各課題のチームワークの上位 3 つ (スコアに基づく) を表示したいと考えています。したがって、これをテンプレートに渡します。
assignments = Assignment.all()
テンプレートでは:
{% for assignment in assignments%}
**<!--How to implement showing the top three-->**
{% for score in assignment.teamScores%}
{{score.teamID}}
{{score.score}}
...............
{% endfor%}
{%endfor%}
このデータストア モデルを使用します。テンプレートでソートする必要がありますが、それは不可能です。したがって、この問題を処理するためのより良いモデルがあると思います。しかし、私はそれを理解することはできません。上位 3 つを格納するために ListProperty を追加するというこのアイデアについて考えました。新しい TeamScore が生成されるたびに、これをリスト内のスコアと比較して、トップ 3 を最新の状態に保ちます。しかし、私はこのやり方はエレガンスではないと思います。
何か提案をいただけますか?
ありがとうございました!