我試圖按日期篩選用戶,但不能直到我可以在db中找到用戶的第一個和最後一個日期。雖然我可以在稍後將腳本過濾掉,但我想從一開始就使用Django的distinct
,因爲它顯着減少了。我試圖Django - 從時間戳中獲得截然不同的日期
User.objects.values('install_time').distinct().order_by()
但由於install_time
是timestamp
,它包括日期和時間(我真的不關心)。因此,它唯一篩選出的日期是我們可以檢索多個用戶的安裝日期但不是時間的日期。
任何想法如何做到這一點?我正在使用Django 1.3.1,Postgres 9.0.5以及最新版本的psycopg2來運行它。
編輯:我忘了補充的install_time
數據類型:
install_time = models.DateTimeField()
編輯2:下面是Postgres的外殼後的輸出,與我想要的東西快速解釋和說明:
2011-09-19 00:00:00
2011-09-11 00:00:00
2011-09-11 00:00:00 <--filtered out by distinct() (same date and time)
2011-10-13 06:38:37.576
2011-10-13 00:00:00 <--NOT filtered out by distinct() (same date but different time)
我知道Manager.raw
,但寧可用戶django.db.connection.cursor
到查詢直接寫自Manager.raw
返回一個RawQuerySet
,IMO,這比僅僅手動編寫SQL查詢和迭代更糟。
http://stackoverflow.com/questions/3388559/django-model-group-by-datetimes-date – thatwasbrilliant 2011-12-21 22:29:18
@thatwasbrilliant這正是可能的重複我正在尋找;謝謝!有點奇怪,它只花了30分鐘,當它在谷歌花了2小時w /沒有結果。 – Edwin 2011-12-21 22:57:02
您需要掌握Google技能:) – thatwasbrilliant 2011-12-22 00:27:29