我的那种看起来像这样:
class userScore(db.Model):
# stores info about each users' score
created = db.DateTimeProperty(auto_now_add = True)
username = db.StringProperty(required=False)
score = db.StringProperty(required=False)
我检索给定用户的得分如下:
username = 'John'
userScore.all().filter('username = ', username).get()
当每个用户只有一个具有一个分数的实体时,这很有效。但是,如果我为同一个用户提供多个不同分数的实体呢? E.g。
created username score
1/30/16 John 100
1/31/16 John 99
1/28/16 John 101
问题:
将.get()始终返回最近的结果,即1/31/16 John 99?
我一直在阅读model.get(),但我无法弄清楚。
更新/详情
根据documentation,.get()"执行查询并返回第一个结果,如果没有找到结果则返回None"。我想要了解的是第一个意味着什么。感谢Dan Cornilescu帮助我澄清我实际要问的内容。
感谢您的帮助。
答案 0 :(得分:1)
您代码中的.get()
不是model.get()
,这可能会让您失望。
userScore.all()
是Model.all()
,返回Query
,因此您的.get()
实际上是Query.get()
,它会返回一个匹配结果列表,如果您愿意,可以使用Query.order()
进行排序/订购。