在我的应用程序中,用户获得分数并将其详细信息存储在数据存储区中。当用户登录时,我想显示他们在所有用户中的排名(基本上离他们的最高得分有多远)。所以我的解决方案是按降序对用户的配置文件进行排序,将index + 1添加到Profile模型并在cron中运行。App Engine Python - 对数据库进行排序,然后put()索引
但是cron失败。任何帮助或有更好的方式建议,将不胜感激:
from google.appengine.ext import db
def universal_rank(self):
users = Profile.all().filter('leaderboard =', l.key()).order('-score')
rank = 0
for user in users:
rank = rank + 1
user.rank = rank
db.put(users)
我使用webapp2的
BTW https://docs.python.org/2/library/functions.html#enumerate –