django querysets按小时,分钟和秒排序

时间:2015-09-20 14:23:57

标签: sql django postgresql django-queryset

我在models.py中有datetime对象:

class Tournament(models.Model):
    date = models.DateTimeField('Event time')

但是,锦标赛可能会有每日或每周锦标赛的标志(意味着它每天或每周重复)。所以我想按日期排序我的锦标赛,但忽略。 如何按小时,分钟和秒钟订购锦标赛?是order_by还是可以使用原始sql吗? 我正在使用postgresql和django 1.8。

1 个答案:

答案 0 :(得分:2)

最好的解决方案是使用Func

Tournament.objects.order_by(Func('date', function='"time"')).all()

虽然它是PostgreSQL特有的,因为"time"(column_name)是从timestamp中提取时间值的方法之一(使用类似函数的语法进行转换会获得time部分)。