如何在以下基于范围的Django查询中获取特定属性[age_group e.g]的计数?

时间:2019-05-22 06:10:52

标签: python django django-orm

我正在使用Django 2.2。 我在Django中有以下models.py

class Study(models.Model):
    id = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4)
    age_group = models.DecimalField(decimal_places=2, max_digits=5)
    gender = models.CharField(max_length=40, null=True, blank=False)
    created_at = models.DateTimeField(auto_now=True)

现在,我有一些使用以下形式填写的值:

age_group - 13  gender - male
age_group - 27  gender - female 
age_group - 20  gender - male 

现在,我想根据范围group age_group进行输入。例如,我的输出应为:

age_group 5-21  Count : 2
age_group 22 - 30  Count : 1

我尝试了以下查询:但是我被组部分卡住了。

这是我到目前为止尝试过的查询:

Study.objects.filter(Q(age_group__range=[10,20])| Q(age_group__range=[21,35]) | Q(age_group__range=[36, 54])).values('age_group').annotate(Sum('age_group')).order_by('age_group')

任何帮助将不胜感激。 TIA

0 个答案:

没有答案