Eu tenho
class Book(models.Model):
title = models.CharField(max_length=32)
class Table(models.Model):
book = models.ForeignKey(Book, related_name='tables')
class TableEntry(models.Model):
table = models.ForeignKey(Table, related_name='entries')
value = models.FloatField()
e deseja um conjunto de consultas de livros que tenha anotado para cada livro a soma de todas as entradas de tabela deste livro.
Eu tentei
Book.objects.all().annotate(sum=Sum('tables__entries'))
mas isso não parece funcionar. [Edição: Parece funcionar, afinal, como esperado.]
Observe que a ideia funciona quando a soma de todas as entradas de cada tabela deve ser anotada:
Table.objects.all().annotate(sum=Sum('entries'))