Вычисления дают неверный результат в аннотации при использовании Django ORM

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

Но во второй аннотации я не получаю правильных результатов, как вы можете видеть, запрос прямолинеен для расчета налога с продаж (цена + цена * tax_percentage / 100).

После нескольких часов борьбы я не мог понять, делаю ли я что-то неправильно?

 Order.objects.filter(customer__zone__distribution=get_user_distribution(request.user.id))
              .annotate(trade_price=ExpressionWrapper(
                                                   Sum(F('items__trade_price') * ExpressionWrapper(0.01 * (100 - F('items__discount__discount')), output_field=DecimalField()) * F('items__quantity')
                                            ) 
                                            , output_field=DecimalField()
                                        )
                                    ).annotate(total_price=F('trade_price') + F('trade_price') * Sum(F('items__sales_tax__percentage') / 100))

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