Python Django 按日期分组
Python Django group by date
我正在使用 Django 构建网络应用程序。我的一个模型是这样的:
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 文档,但没有找到任何有用的信息。谢谢。
你可以这样做
select date(starttime) as simple_date
from your_table
group by simple_date
您可以使用 datetime.datetime.date('starttime')
从 DateTimeField 中获取日期。然后看看Django docs on aggregation for grouping.
我正在使用 Django 构建网络应用程序。我的一个模型是这样的:
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 文档,但没有找到任何有用的信息。谢谢。
你可以这样做
select date(starttime) as simple_date
from your_table
group by simple_date
您可以使用 datetime.datetime.date('starttime')
从 DateTimeField 中获取日期。然后看看Django docs on aggregation for grouping.