首页 > 解决方案 > 尝试在 Django 中进行特定分组

问题描述

因此,假设我有一个模型 Fruit,其中包含一些字段:

class Fruit():
color: models.CharField(blank=True, null=True, default='', max_length='250')
sweet: models.BooleanField(default=False)
date_dropped_from_tree: models.DateField(blank=True, null=True)
baking: models.BooleanField(default=False)

我想拿我的水果查询集:

class FruitViewSet(viewsets.ModelViewSet):
queryset= Fruit.objects.all()
serializer_class = FruitSerializer

def get_queryset(self):
self.queryset = self.queryset.filter(sweet=F('sweet'), date_dropped_from_tree=F('date_dropped_from_tree'), baking=F('baking')).values('sweet', 'date_dropped_from_tree', 'baking').annotate(count=Count('sweet', 'date_dropped_from_tree', 'baking'))
return self.queryset

我希望它返回一个可以转换为类似列表的查询集:

[{ sweet: True, date_dropped_from_tree: '10-25-18', baking: False, count=5},
 { sweet: False, date_dropped_from_tree: '10-16-15', baking: True, count=3}, ... 
]

当我写出来时,我意识到我的代码有点偏离基础,但我不能完全想象如何返回我想要的结果。协助表示赞赏。

标签: pythondjango

解决方案


推荐阅读