Вложенная аннотация в Django View и сериализаторы

У меня есть сценарий использования, где я хочу иметь данные в следующем формате.

{
 "total_discount_amount": 0,
 "total_paid": 0,
 "total_billed": 0,
 "visits": "string"
 "users_summary": [
        {
          "id": "string",
          "date": "string",
          "total_discount_amount": 0,
          "total_paid": 0,
          "total_billed": 0,
          "visits": "string"
        }
      ]
    }

Внешняя часть данных является суммой данных списка users_summary.

class Test(generics.ListAPIView):
    queryset = Model.objects.all()
    serializer_class = SummarySerializer

def list(self, request, *args, **kwargs):
    data =Model.objects.values('user').annotate(visits=Count('user'),total_discount_amount=Sum('model__amount', total_paid = Sum('model__paid_amnt',total_billed = Sum('model__bill_amnt').filter()
    serializer = SummarySerializer(data, many=True)
    return Response({'users_summary': serializer.data})

Здесь я не получаю внешние значения. Я пытался реализовать сериализатор таким образом, чтобы получить агрегированные данные users_summary, но не смог этого добиться.

Вывод, который я получаю, следующий

{
"users_summary": [
        {
          "id": "string",
          "date": "string",
          "total_discount_amount": 0,
          "total_paid": 0,
          "total_billed": 0,
          "visits": "string"
        }
      ]
    }

Есть ли решение?

Вернуться на верх