我有datetime对象在models.py:
class Tournament(models.Model):
date = models.DateTimeField('Event time')
然而,比赛可以有每日或每周比赛的标志(意思是每天或每周重复)。所以我想按日期排序我的比赛,但忽略年, 月和日。我如何按小时、分、秒来安排我的比赛?这是可能的order_by
或我必须使用原始sql?
我使用的是postgresql和django 1.8.
最好的解决方案是使用Func
:
Tournament.objects.order_by(Func('date', function='"time"')).all()
它是postgresql特有的,虽然,因为"time"(column_name)
是从timestamp
提取时间值的方法之一(与函数式语法的转换使您获得time
部分)。