2010-11-21 87 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值。在這種情況下,你可以全部接受它們,或者例如取最小的身份證,取決於你的需要。