1
shanguo 2019 年 8 月 30 日
这种需要 Count('id')
你试下这个: models.ServiceLog.objects.annotate(num_ip=Count("id")).order_by("-num_ip") |
2
shanguo 2019 年 8 月 30 日
忽略上面一条
这种需要先分组 使用 values,然后 Count('id') 你试下这个: models.ServiceLog.objects.values('num_ip').annotate(num_ip=Count("id")).order_by("-num_ip") |
3
676529483 2019 年 8 月 30 日
今天刚写过,有 annotate 和 distinct 的写法,但如果实在不想引入聚合函数,用 raw (我就是这么干的)
|
4
zqyisasd OP 正确用法
data1 = models.ServiceLog.objects.values("ip").annotate(num_ip=Count("ip")).order_by("-num_ip") 返回的是字典,不是 QuerySet |