我有这些模特:
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...
这是peoblem。在主页中,我想显示每个作业的前三名(基于得分)团队合作。所以,我把它传递给我的模板:
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生成时,我会将其与列表中的分数进行比较,以保持前三名的新鲜。但我认为这种方式并非强度。
你能给我一些建议吗?谢谢!
答案 0 :(得分:1)
这不是一个数据建模问题,它是一个模板问题。您需要获取分配并执行查询以获取代码中的分数列表,并将结果传递到模板中,而不是仅仅传递分配模型并在模板中完成其余工作。