我有这些模型:
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...
这是人们的问题。在主页中,我想显示每个作业的前三名(基于分数)团队工作。所以,我将它传递给我的模板:
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%}
使用此数据存储模型。我需要在模板中排序,这是不可能的。所以,我认为它可能有更好的模型来处理这个问题。但我无法弄清楚。我想到了这个想法,添加一个 ListProperty 来存储前三个。每次生成新的 TeamScore 时,我都会将其与列表中的分数进行比较,以保持前三名的新鲜度。但我认为这种方式并不优雅。
你能给我一些建议吗?
谢谢!