我有圖片上傳的模型,看起來是這樣的:Django/Python:如何按日期對查詢集結果進行分組?
from django.db import models
from django.contrib.auth.models import User
import datetime
class ImageItem(models.Model):
user = models.ForeignKey(User)
upload_date = models.DateTimeField(auto_now_add = True)
last_modified = models.DateTimeField(auto_now = True)
original_img = models.ImageField(upload_to = img_get_file_path)
我要查詢屬於特定用戶的ImageItem的所有實例,並把它們組根據上傳日期。例如,對於某些用戶,我想要一個2013年4月9日的小組,以及2013年4月12日的另一個小組,等等(假設他們在這些日期上傳了一個或多個圖像)。
我想我運行一個簡單的查詢,比如,
joes_images = ImageItem.objects.filter(user__username='joe')
但後來我又怎能組他們一天公佈?(假設他沒有每天發佈,只在某些日子發佈)
函數將不得不返回所有圖像組。
你看過這個問題嗎? http://stackoverflow.com/questions/629551/how-to-query-as-group-by-in-django –
不,我沒有,這絕對解決了我的問題的前半部分。這裏,'upload_date'字段是一個datetime.datetime對象,這意味着沒有兩個upload_date值是相同的。我只想按日期分組,而不是按時間分組。我會怎麼做? – sgarza62
我認爲你必須使用'.extra()',你不能'.order_by()'在一個datetimefield上不幸:( –