簡體   English   中英

如何在Django中的聚合查詢中添加日期過濾器

[英]How to add a date filter to an Aggregation query in Django

我目前正在執行匯總查詢,將所有跟蹤ID分組並產生其計數。 我希望能夠按日期過濾此查詢。

我的工作查詢:

users = Tracking.objects.values( 'tracking_id' ).annotate(dcount=Count('tracking_id')).order_by('-dcount')[:100]

我嘗試了以下過濾器組合,但所有組合均導致語法錯誤。

start_date = datetime.date(2012, 2, 1)
end_date = datetime.date(2012, 3, 2)
users = Tracking.objects.filter(date__range=(start_date, end_date).values( 'tracking_id' ).annotate(dcount=Count('tracking_id')).order_by('-dcount')[:100]

start_date = datetime.date(2012, 2, 1)
end_date = datetime.date(2012, 3, 2)
users = Tracking.objects.values( 'tracking_id' ).filter(date__range=(start_date, end_date).annotate(dcount=Count('tracking_id')).order_by('-dcount')[:100]

start_date = datetime.date(2012, 2, 1)
end_date = datetime.date(2012, 3, 2)
users = Tracking.objects.values( 'tracking_id' ).annotate(dcount=Count('tracking_id')).filter(date__range=(start_date, end_date).order_by('-dcount')[:100]

任何幫助將不勝感激。

我認為由於缺少括號(在end_date之后),它們導致語法錯誤:

users = Tracking.objects.values( 'tracking_id' ).filter(date__range=(start_date, end_date) ...

應該

users = Tracking.objects.values( 'tracking_id' ).filter(date__range=(start_date, end_date)) ... 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM