djangoORM怎么获取数据在数据集中的排名?
我有一个数据表
class Currency(models.Model):
agent = models.OneToOneField('users.Agent', on_delete=models.CASCADE)
consume_total = models.DecimalField(max_digits=10, decimal_places=2, help_text='个人销售额')
class Meta:
ordering = ['-consume_total']
我需要在视图里返回 用户的排名,排名是根据consume_total 这个字段的值进行排。
1,获取当前登录用户排在第几名
2,获取排名的前10名
3,获取当前用户排名的前5名和他之后的5名
这种应该怎么写?
class MyRank(APIView):
permission_classes = [IsAuthenticated]
def get(self, request):
user = request.user
res_data = {}
count = Currency.objects.count()
res_data['people_count'] = count # 总人数
# 获取当前用户排在第几名
# 获取排名前10名
# 获取当前用户排名的前5名和他之后的5名
return Response(data=res_data)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设consume_total不重复
获取当前用户排在第几名
排名的前十名
获取当前用户排名的前5名和之后的5名
如果有重复的 就看你怎么处理重复销售额的排名了