以独立于数据库的方式获取行号 - django
假设我有一个 'Scores' 表,其中包含字段 'User'、'ScoreA'、'ScoreB' >,'ScoreC'。 在排行榜视图中,我通过访问者选择的这些分数字段之一获取并排序查询集。 该模板对查询集进行分页。 该表由作业定期更新(由 cron 触发的 django 命令)。
我想向查询集中添加一个 'rank' 字段,以便我将拥有 'rank'、'User'、'得分A'、'得分B'、'得分C'。 此外,我想保持数据库独立性(postgre 是一个选项,目前它不支持 row_number)。
一个解决方案可能是我可以修改作业,以便它还在三个新字段中计算和写入三个不同的排名('rankA'、'rankB'、 >'等级C')。
我希望有一个(更好)更好的解决方案?
Let's say that I have a 'Scores' table with fields 'User','ScoreA', 'ScoreB', 'ScoreC'. In a leaderboard view I fetch and order a queryset by any one of these score fields that the visitor selects. The template paginates the queryset. The table is updated by a job on regular periods (a django command triggered by cron).
I want to add a 'rank' field to the queryset so that I will have 'rank', 'User', 'ScoreA', 'ScoreB', 'ScoreC'. Moreover I want to remain database-independent (postgre is an option and for the time being it does not support row_number).
A solution may be that I can modify the job, so that it also computes and writes three different ranks in three new fields ('rankA', 'rankB', 'rankC').
I hope there is a (much) better solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不能计算模板中的排名?
或者,您可以在视图函数中计算排名。
或者,您可以计算模型中的排名。
我认为有很多很多方法可以做到这一点。
Why can't you compute the rank in the template?
Or, you can compute the rank in the view function.
Or, you can compute the ranking in the model.
I think there are many, many ways to do this.