假設有一個作者,他有書籍。爲了與書面頁的數量一起取的作者,下面可以做:註釋過濾 - 只彙總一些相關對象的字段
Author.objects.annotate(total_pages=Sum('book__pages'))
但是,如果我想總結科幻與幻想書籍單獨的頁面是什麼?我想結束一個作者,它有total_pages_books_scifi_pages和total_pages_books_fantasy_pages屬性。
我知道我可以做如下:
Author.objects.filter(book__category='scifi').annotate(total_pages_books_scifi_pages=Sum('book__pages'))
Author.objects.filter(book__category='fantasy').annotate(total_pages_books_fantasy_pages=Sum('book__pages'))
但在一個查詢集怎麼辦呢?