Агрегация запросов Django в список сущностей

Я использую Django и Postgres и у меня есть текущая установка (макет):

Класс A: name=models.CharField() b=models.ManyToManyField(to=B)

Класс B: c=ForeignKey(to=C) amount=models.IntegerField()

Мне нужно создать запрос, который, начиная с A, возвращает все значения в B в виде списка словарей. Я пробовал JSONBAgg и ArrayAgg, но мне не повезло при попытке сохранить несколько полей.

Пример запроса: from django.contrib.postgres.aggregates.general import JSONBAgg A.objects.annotate(test=JSONBAgg('amount')).values('name', 'test') РАБОТАЕТ! A.objects.annotate(test=JSONBAgg('amount', 'c__id')).values('name', 'test') НЕ РАБОТАЕТ!

Как получить список dicts с несколькими значениями вместо списка строк?

Может быть этот код будет работать, когда я применил его, он сработал.

res = defaultdict(list) для sub в test_list: for key in sub: res[key].append(sub[key])

print("Извлеченный словарь : " + str(dict(res))))

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