如何使用烧瓶和 sqlalchemy 创建用户排行榜?



我希望能够创建一个排行榜,根据所有用户拥有的金额对他们进行排名,以便用户可以竞争排行榜上的头把交椅。在环顾四周之后,我为此找到的最佳解决方案在这里:如何使用 sqlalchemy 对条目进行排名?

这建议创建一个新的表列并对其进行更新。这是最好的解决方案,还是有办法获取 sqlalchemy 搜索查询的"列表索引"?如果这是最好的解决方案,那么它的时间复杂度是多少?我多久可以在不减慢速度的情况下执行此操作?

我的基本用户表供参考:

class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), index=True, unique=True)
money = db.Column(db.Integer)

提前致谢

我会从数据库中查询它们,然后使用任何看起来最好的排序算法在 Flask 中对它们进行排序。然后,您可以从后端以JSON形式返回用户列表或注入HTML等。

在伪中,类似于:

def sort(list, elem):
i = 0
for each in list:
i++
if each.elem > list[i].elem:
swap(list, i)
return list

def get():
user_list = Users.query.all()
return sort(user_list, element_to_sort_by)

最新更新