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))
)
Вернуться на верх