2012-09-12 101 views
3

我正在构建具有排名功能的Web服务。在django中处理排名的最佳方式是什么?

我没有强大的服务器:整个服务将在标准PC中托管。 可能有时间,当许多用户(在这种情况下多= 100)刷新排名,所以我会这样做,其中用户不会因此崩溃服务器。

没有实时刷新没有问题:我可以显示前一段时间生成的用户排名。

对于我排名的生成没有任何问题。 我可以很容易地做到这一点:

User.objects.filter(...).order_by('rank') 

编辑:更多细节: 我有一些工人在做一些计算。 当工作人员结束工作时,它会更改某个用户实例的排名字段。 您可以假设,所有用户都会执行导致几个(5-20​​)计算的操作,每个用户都会导致此用户的等级更改。

+0

我想你需要提供一些额外的细节,例如如何计算分数以使排名升高? –

+0

@ThomasOrozco:完成,已添加到问题内容 – Ari

+0

对我来说,你已经解决了问题,你认为你错过了什么? –

回答

1

如果更新排名太长任务每个要求做,那么你在这里可以使用几个解决方案:

解决方案1是更好的性能明智的,但很难得到正确的。解决方案2更容易实现,但可能不太理想。

相关问题