我在models.py中有datetime对象:
class Tournament(models.Model):
date = models.DateTimeField('Event time')
但是,锦标赛可能会有每日或每周锦标赛的标志(意味着它每天或每周重复)。所以我想按日期排序我的锦标赛,但忽略年,月和日。
如何按小时,分钟和秒钟订购锦标赛?是order_by
还是可以使用原始sql吗?
我正在使用postgresql和django 1.8。
答案 0 :(得分:2)
最好的解决方案是使用Func
:
Tournament.objects.order_by(Func('date', function='"time"')).all()
虽然它是PostgreSQL特有的,因为"time"(column_name)
是从timestamp
中提取时间值的方法之一(使用类似函数的语法进行转换会获得time
部分)。