Извлекать только данные из набора запросов Django - PullRequest
0 голосов
/ 03 августа 2020

Я работаю над изучением Django и создал тестовую базу данных для работы. У меня есть таблица, которая предоставляет основную информацию о счете-фактуре c поставщика, поэтому я хочу просто представить пользователю общую стоимость счетов-фактур, которые были загружены в базу данных. Я обнаружил, что следующий набор запросов суммирует столбец, как я и надеялся:

total_outstanding: object = Invoice.objects.aggregate(Sum('invoice_amount'))

, но результат представлен на странице следующим бесполезным образом:

Всего $ Выдающийся: {'invoice_amount__sum': Decimal ('1965')}

1965 год - это правильная сумма для счетов-фактур, которыми я заполнил базу данных, поэтому набор запросов извлекает то, что я хочу, но я просто хочу представить эту часть результата пользователю, без других вещей.

Кто-то еще задал аналогичный вопрос (в основном тот же) здесь: how-to-extract-data- from- django -queryset , но ответ для меня не имеет смысла, это просто:

k = k [0] = {'name': 'John'}

Набор запросов - это список.

Может ли кто-нибудь помочь мне с простым sh объяснением того, как я могу извлечь только числовой результат этого запроса для представления пользователю?

1 Ответ

2 голосов
/ 03 августа 2020

Здесь вы получаете словарь, который отображает имя агрегата в соответствующее значение. Вы можете использовать индекс , чтобы получить соответствующее значение:

object = Invoice.objects.aggregate(
    Sum('in,voice_amount')
)<b>['invoice_amount__sum']</b>
...