Django получает данные в определенном формате

У меня есть две таблицы

sale, который имеет поле, подобное этому

enter image description here

А другая таблица product

Я получаю количество тегов и среднюю цену продукта с помощью этого запроса

today = timezone.now().today()
start_date = today - relativedelta(months=12)
end_date = today
sale_filters = (
    Q(tags__name__in=['Device','Mobile']) &
    (Q(date_created__gte=start_date) & Q(date_created__lte=end_date))
)
sale_year = Sale.objects.using('read_rep') \
        .prefetch_related('products') \
        .annotate(month=TruncMonth('date_created')) \
        .filter(
            sale_filters
        ).values(
            'tags__name','date_created'
        ).annotate(
            tags_count=Count('tags__name'),
            price_avg=Coalesce(Avg('products__price'), Decimal('0')),
            price_sum=Coalesce(Sum('products__price'), Decimal('0'))
        ).order_by('date_created')

Результат:

{'tags__name': 'Device', 'date_created': datetime.datetime(2022, 11, 12, 3, 20, 3, tzinfo=<UTC>), 'tags_count': 1, 'price_avg': Decimal('234.000000'), 'price_sum': Decimal('234.00')}, 
{'tags__name': 'Mobile', 'date_created': datetime.datetime(2022, 11, 12, 3, 20, 3, tzinfo=<UTC>), 'tags_count': 1, 'price_avg': Decimal('234.000000'), 'price_sum': Decimal('234.00'), 'fee_sum': Decimal('7.02')}, {'tags__name': 'Device', 'date_created': datetime.datetime(2022, 12, 6, 16, 25, 6, 178045, tzinfo=<UTC>), 'tags_count': 1, 'price_avg': Decimal('100.000000'), 'price_sum': Decimal('100.00')}, 
{'tags__name': 'Mobile', 'date_created': datetime.datetime(2022, 12, 6, 16, 25, 6, 178045, tzinfo=<UTC>), 'tags_count': 1, 'price_avg': Decimal('100.000000'), 'price_sum': Decimal('100.00')}

Я хочу получить такой результат

{'date_created': datetime.datetime(2022, 11, 12, 3, 20, 3, tzinfo=<UTC>), 'Device': 1, 'Mobile': 1, 'price_avg': Decimal('100.000000'), 'price_sum': Decimal('100.00')}
{'date_created': datetime.datetime(2022, 12, 6, 16, 25, 6, 178045, tzinfo=<UTC>), 'Device': 1, 'Mobile': 1, 'price_avg': Decimal('100.000000'), 'price_sum': Decimal('100.00')}

Есть ли способ, которым я могу достичь такого формата данных. Любая помощь будет оценена по достоинству.

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