具有不同条件的 Django SUM 2 列

Django SUM 2 Column with Different Condition

在 Django 中如何 sum 2 column 具有不同的条件,我如何尝试将 column amount 与条件 trx=2 和 [=14 相加=] 条件 trx=3

reportusage = (Invoices.objects
                            .annotate(month=ExtractMonth('datetime'))
                            .values('month')
                            .annotate(total=Sum('amount').filter(trx=2) + Sum('amount').filter(trx=3), product=F('tenant'))
                            .order_by())

要对注释中的列应用过滤器,您可以试试这个

reportusage = (Invoices.objects
                            .annotate(month=ExtractMonth('datetime'))
                            .values('month')
                            .annotate(total=Sum('amount', filter=Q(trx=3)) + Sum('amount', filter=Q(trx=3)), product=F('tenant'))
                            .order_by())