2010-11-21 66 views

回答

2

要获取失效日期排列的单个对象:

obj = Delivery.objects.filter(name='name1', to_date=my_date).order_by('-valid_to')[0] 
+0

最大('valid_to')丢失 – 2010-11-21 15:17:01

+0

我认为这是一个错误,因为valid_to没有被提及为一个字段。你可以发布模型吗?更新了代码,以反映我认为您尝试实现的目标 – sunn0 2010-11-21 15:26:53

1

试试这个:

maximum_to_date = Delivery.objects.filter(name__exact='name1').aggregate(maximum to_date=Max('valid_to')) 
result = Delivery.objects.filter(valid_to=maximum_to_date) 

请注意,您需要过滤器()在第二行中,因为两个或更多的交付可能具有相同的valid_to值。在这种情况下,你可以全部接受它们,或者例如取最小的身份证,取决于你的需要。