2015-05-13 3 views
0

Я создаю веб-приложение, используя Django. Один из моих моделей заключаются в следующем:Python Django group по дате

class Change(models.Model): 
    user=models.ForeignKey(User) 
    project=models.ForeignKey('Project') 
    starttime=models.DateTimeField(null=True,blank=True) 
    endtime=models.DateTimeField(null=True, blank=True) 
    worktime=models.FloatField(null=True, blank=True)#worktime is in hours 
    comment=models.CharField(max_length=500) 
    flagged=models.BooleanField(default=False, db_index=True) 

Как вы можете видеть starttime и endtime являются datetime объектами. Я хочу запустить sql-запрос, группируя результаты по дате. Но так как объекты datetime, они сгруппированы по дате и времени. Является ли это возможным? Я посмотрел на документы Python и Django, не найдя ничего полезного. Спасибо.

+1

Взгляните на [Аннотировать (группу) даты по месяцам/годам в Django] (http://stackoverflow.com/questions/21837227/annotate-group-dates-by-month-year-in-django) и [Группа Django по датам и значениям SUM] (http://stackoverflow.com/questions/18099697/django-group-by-dates-and-sum-values) –

+0

Возможный дубликат [Django: группа по дате (день, месяц) , год)] (http://stackoverflow.com/questions/8746014/django-group-by-date-day-month-year) – tback

ответ

0

Вы могли бы сделать что-то вроде

select date(starttime) as simple_date 
from your_table 
group by simple_date 
+3

Что это связано с Python или Django? Хотя это выражает решение в сыром SQL, оно не показывает, как использовать это в Django или Python, поэтому, строго говоря, он не отвечает на вопрос – dKen

Смежные вопросы