Django-在今天之前获得最新的参赛作品

时间:2015-05-07 23:48:39

标签: python django

我想在今天的日期之前获得最新的参赛作品。我试着这样做:

query = my_table.objects.filter(~Q(date__gt=datetime.date.today()))
recent = query[-1]

然而,它不允许负面拼接。我不太确定最好的方法。

1 个答案:

答案 0 :(得分:0)

按日期按相反顺序排序查询集,然后获取第一条记录:

recent = my_table.objects.filter(date__lt=datetime.date.today()) \
                         .order_by('-date').first()

或者你可以使用latest()方法,但如果数据库中没有这样的记录,它会引发DoesNotExist(在这种情况下first()将返回None) :

recent = my_table.objects.filter(date__lt=datetime.date.today()) \
                         .latest('date')