Python Django按日期分组

时间:2015-05-13 15:05:08

标签: python django group-by

我正在使用Django构建一个Web应用程序。我的一个模特是:

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)

正如您所见,starttimeendtimedatetime个对象。我想运行一个SQL查询按日期分组结果。但由于对象是datetime,因此它们按日期和时间分组。可能吗?我查看了Python和Django文档,但没有找到任何有用的东西。谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用datetime.datetime.date('starttime')从DateTimeField获取日期。然后看看Django docs on aggregation for grouping

答案 1 :(得分:0)

您可以执行类似

的操作
select date(starttime) as simple_date
from your_table
group by simple_date