Агрегирование возвращает нулевые значения, если в наборе запросов нет ни одного, даже при использовании 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
}