
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 |