Как я могу округлить сумму в Django ojbect

Мой код:

verloningsoverzicht_cumulatief_dagen = 
Overzicht.objects.filter(periode=periode, jaar=jaar) 
            .values('testcontract', 'contract') 
            .annotate(aantal=Sum('aantal'))

Допустим, сумма .annotatie равна 6.3500000, я хочу округлить ее до 6.35. Метод round не работает, как я могу решить эту проблему

.annotate(aantal=round(Sum('aantal'),2))

Вы можете использовать Round выражение [Django-doc]:

from django.db.models.functions import Round

verloningsoverzicht_cumulatief_dagen = Overzicht.objects.filter(
    periode=periode, jaar=jaar
) .values('testcontract', 'contract').annotate(
    aantal=Round(Sum('aantal'), 2)
)

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

from django.db.models.functions import Round

verloningsoverzicht_cumulatief_dagen = Overzicht.objects.filter(
    periode=periode, jaar=jaar
) .values('testcontract', 'contract').annotate(
    aantal=Round(Sum('aantal') * 100) / 100
)
Вернуться на верх