我想在今天的日期之前获得最新的参赛作品。我试着这样做:
query = my_table.objects.filter(~Q(date__gt=datetime.date.today()))
recent = query[-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')