如何获取Django中表中出现次数最多的用户



我需要帮助,我正在构建一个允许用户发出邀请的应用程序,我想找到发出邀请最多的用户,我该怎么做。我的模型如下。

class Invite(models.Model):
host_name = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL)
invite = models.CharField(max_length=200, null=True,blank=True)
def __str__(self):
return self.name```

您所需要做的就是导入Count。计算Invite((对象的主机名。并且在通过从反向订购获得唯一一个主机名之后

玩得开心!

from django.db import Count
Invite.objects.annotate(num_likes=Count('host_name')).filter(host_name__gt=).order_by('-host_name')[:0]

这是对Enes解决方案的修改,适用于我的

user_with_highest_sent_out_invite = User.objects.annotate(num_of_invites=Count('invite__host_name')).order_by('-num_of_invites')[0]

然而,当出现平局时,它会获取上面指定的第一个对象

最新更新