Django根据mod中的字段聚合数据

2024-04-23 16:20:45 发布

您现在位置:Python中文网/ 问答频道 /正文


我有一个带有CharField的模型,可供选择。我想聚合模型并得到所有选项的列表以及每个选项中的模型数量。如果我有:

model1: a
model2: b
model3: c
model4: a
model5: c
model6: c

我想构建一个django查询集以获得以下结果(如果可以的话,用json格式)

^{pr2}$

对于django-orm,这是可能的还是我需要运行纯sql查询?
谢谢。在


Tags: django模型json列表数量格式选项charfield
1条回答
网友
1楼 · 发布于 2024-04-23 16:20:45

{你应该找这个。但是,使用order of ^{} and ^{}时要小心:

from django.db.models import Count

d = {
    x['field_name']: x['count'] 
        for x in model.objects
            .annotate(count=Count('field_name'))  
            .values('field_name', 'count')
            .distinct()
}

如果要将其转换为json,请使用^{}模块:

^{pr2}$

相关问题 更多 >