【问题标题】:Python Django group by datePython Django 按日期分组
【发布时间】:2015-05-13 15:05:07
【问题描述】:

我正在使用 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)

如您所见,starttimeendtimedatetime 对象。我想运行一个按日期对结果进行分组的 sql 查询。但由于对象是datetime,它们按日期和时间分组。是否可以?我查看了 Python 和 Django 文档,但没有发现任何有用的东西。谢谢。

【问题讨论】:

标签: python django group-by


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你可以这样做

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

    【讨论】:

    • 这与 Python 或 Django 有什么关系?虽然这用原始 SQL 表达了一个解决方案,但它没有展示如何在 Django 或 Python 中使用它,所以严格来说它没有回答问题
    猜你喜欢
    • 1970-01-01
    • 2021-06-05
    • 2012-02-03
    • 2021-11-24
    • 1970-01-01
    • 2020-09-09
    • 2013-09-07
    • 1970-01-01
    • 2011-03-01
    相关资源
    最近更新 更多