注釈付きのクエリセットにより、次のような結果リストが得られました。
[{'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)