Django Queryset возвращает None вместо 0
У меня есть кверисет в Django:
puntos_jornalero1 = Equipo.objects.filter(
jlg1__puntos__etapa=2
).annotate(
puntos_jornalero1=Sum('jlg1__puntos__puntos', default=0)
)
Если я составляю кверисет без фильтра, я получаю 0 или сумму правильно, но если я хочу иметь фильтр, но в этом случае, когда результат равен 0, я получаю None. Мне нужно 0, потому что после этого мне нужно снова суммировать результаты.
This happens if the filter removes all related elements. You can work with Coalesce
[Django-doc] to use 0
when there are no items, so:
from django.db.models import Value
from django.db.models.functions import Coalesce
puntos_jornalero1 = Equipo.objects.filter(
jlg1__puntos__etapa=2
).annotate(
puntos_jornalero1=Coalesce(Sum('jlg1__puntos__puntos'), Value(0))
)