Агрегировать, суммировать и округлять в целом

#python #django #sum #aggregate #rounding

#python #django #сумма #агрегировать #округление

Вопрос:

До сих пор я пробовал

   return self.aggregate(round(Sum("cart__total"),2), Avg("cart__total"))
  return self.aggregate(Sum(round("cart__total")),Avg("cart__total"))
  return (self.aggregate(
    (round(Sum("cart__total"),2)),
    (round(Avg("cart__total"),2))))
  recent_data = '{:0.2f}'.format(recent_data)
  recent_data = format(recent_data, '.2f')
  

Когда я делаю

 <p>Recent Total: ${{ this_week.recent_data.cart__total__sum }}</p>
  

Я получаю

 Recent Total: ${'cart__total__sum': Decimal('146238.770000000'), 'cart__total__avg': Decimal('16248.7522222222')}
  

Я хочу округлить десятичные дроби до двух мест.

Ответ №1:

Вы можете сделать:

 return self.aggregate(Sum("cart__total"),Avg("cart__total"))
  

Ваш шаблон:

 <p>Recent Total: ${{ this_week.recent_data.cart__total__sum|floatformat:2 }}</p>
  

См. floatformat из документов django.