带有注释的查询集给了我这样的结果列表:
[{'completed__sum': 1, 'offer__count': 2, 'offer': 1}, {'completed__sum': 0, 'offer__count': 1, 'offer': 2}]
我想得到这样的东西:
{1:{'completed__sum': 1, 'offer__count': 2},2:{'completed__sum': 0, 'offer__count': 1}}
其中键1
和2
是'offer': X
字段的值。
将查询结果转换为所需形式的最快方法是什么?或者有没有办法以这种格式接收查询集的结果?
这是我的查询集:
Progress.objects.filter(user=self.request.user).values('offer').annotate(Count('offer')).annotate(Sum('completed'))
我的模型:
class Progress(models.Model):
user = models.ForeignKey(to=User)
offer = models.ForeignKey(to=Offer)
completed = models.BooleanField(default=False)