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