Агрегирование возвращает нулевые значения, если в наборе запросов нет ни одного, даже при использовании Coalesce со значением по умолчанию

В настоящее время я пытаюсь агрегировать по набору запросов. Это работает отлично, но проблема в том, что если мой набор запросов не имеет значения, функция Coalesce не работает, поэтому значение по умолчанию устанавливается нулевым, а не 0 .

aggregated_data = queryset.aggregate(
                total_trips=Coalesce(Sum("total_trips"), 0, output_field=IntegerField()),
                total_orders=Coalesce(Sum("total_orders"), 0, output_field=IntegerField()),
                total_expense=Coalesce(Sum("total_expense"), 0, output_field=IntegerField()),
                total_payment=Coalesce(Sum("total_payment"), 0, output_field=IntegerField()),
                total_collected_payment=Coalesce(Sum("total_collected_payment"), 0, output_field=IntegerField()),
                total_driver=Coalesce(Sum("total_drivers"), 0, output_field=IntegerField()),
                total_utilized_driver=Coalesce(Sum("total_utilized_drivers"), 0, output_field=IntegerField()),
                total_vehicles=Coalesce(Sum("total_vehicles"), 0, output_field=IntegerField()),
                total_utilized_vehicles=Coalesce(Sum("total_utilized_vehicles"), 0, output_field=IntegerField()),
            )

текущий вывод, если кверисет отсутствует :

{
  "total_trips": null,
  "total_orders": null,
  "total_expense": null,
  "total_payment": null,
  "total_collected_payment": null,
  "total_driver": null,
  "total_utilized_driver": null,
  "total_vehicles": null,
  "total_utilized_vehicles": null
}

ожидаемый выход :

{
  "total_trips": 0,
  "total_orders": 0,
  "total_expense": 0,
  "total_payment": 0,
  "total_collected_payment": 0,
  "total_driver": 0,
  "total_utilized_driver": 0,
  "total_vehicles": 0,
  "total_utilized_vehicles": 0
}
Вернуться на верх