2010-05-19 78 views
5

我正在研究Django時間表應用程序,並且無法計算出如何包含等於零的總計總和。如果我這樣做:Django包含零總計總和

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

我得到所有用戶有時間條目和他們的總和。

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

當我濾鏡,通過給定的一天:

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

任何人都爲這一天被排除在外誰沒有進入時間。有沒有一種方法可以包括那些總和爲0的用戶?

感謝

回答

0

也許你可以嘗試的關係倒過來 - 開始與用戶,並鏈接到的條目:

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

運作的?

+0

對不起,沒有骰子。 (還是)感謝你的建議。以上給我我正在尋找的東西,但所有的日子。只要我把過濾器放在所有的零和中,人們就會被移除。我在annotate()和之前嘗試過濾器。 – tomas 2010-05-19 17:37:20