我有一个数据表
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)