2010-05-19 14 views
5

Estoy trabajando en una aplicación de hojas de tiempo Django y tengo problemas para encontrar la manera de incluir sumas agregadas iguales a cero. Si hago algo como:Django Incluir sumas totales de cero

entries = TimeEntry.objects.all().values("user__username").annotate(Sum("hours")) 

Obtengo todos los usuarios que tienen entradas de tiempo y sus sumas.

[{'username': u'bob' 'hours__sum':49}, {'username': u'jane' 'hours__sum':10}] 

Cuando filtro que por un día determinado:

filtered_entries = entries.filter(date="2010-05-17") 

Cualquier persona que no entraron tiempo para se excluye ese día. ¿Hay alguna manera de incluir a aquellos usuarios cuyas sumas son 0?

Gracias

Respuesta

0

Tal vez usted podría tratar de la relación al revés - se inicia con los usuarios, y el enlace a las entradas:

User.objects.all().values("username").annotate(Sum("timeentry__hours")) 

funciona eso?

+0

Disculpe, no hay dados con eso tampoco. Gracias por la sugerencia, sin embargo. Lo anterior me da lo que estoy buscando, pero para todos los días. Tan pronto como coloque el filtro en todas las personas de suma cero, se eliminarán. Probé el filtro después de la anotación() y antes. – tomas

Cuestiones relacionadas