Sql django查询按小时、分钟和秒排序

Sql django查询按小时、分钟和秒排序,sql,django,postgresql,django-queryset,Sql,Django,Postgresql,Django Queryset,我在models.py中有datetime对象: class Tournament(models.Model): date = models.DateTimeField('Event time') 然而,比赛可能有每日或每周比赛的标志(意味着每天或每周重复)。因此,我想按日期对我的比赛进行排序,但忽略年、月和日 我如何按小时、分和秒排列比赛顺序?是否可以使用order\u by或我必须使用原始sql? 我正在使用postgresql和django 1.8。最好的解决方案是使用: 不过它

我在models.py中有datetime对象:

class Tournament(models.Model):
    date = models.DateTimeField('Event time')
然而,比赛可能有每日或每周比赛的标志(意味着每天或每周重复)。因此,我想按日期对我的比赛进行排序,但忽略
我如何按小时、分和秒排列比赛顺序?是否可以使用
order\u by
或我必须使用原始sql?

我正在使用postgresql和django 1.8。

最好的解决方案是使用:


不过它是PostgreSQL特有的,因为
“time”(column_name)
是它从
时间戳
中提取时间值的一种方法(使用类似函数的语法进行转换可以获得
时间
部分)。

如果不需要注释,您可以直接在order by:
Tornament.objects.order_by(Func('date',function=''time'))
中使用该表达式。通过搜索相同的ordering by,我们只想补充一点,它也可以使用sqlite。尽管使用类似以下内容似乎“更安全”:“代码>订单日期('date\uuuu hour'、'date\uu minute'、'date\uu second')
Tournament.objects.order_by(Func('date', function='"time"')).all()