0
我有一個模型(交付)與2個字段名爲名稱和to_date。我只需要一個具有特定名稱的對象,它的最大值爲to_date。Django - QuerySet過濾器 - 梳理2個條件
Delivery.objects.filter(name__exact = 'name1').aggregate(Max('valid_to'))
上述查詢將返回最大日期。是否有可能獲取完整的對象?
我有一個模型(交付)與2個字段名爲名稱和to_date。我只需要一個具有特定名稱的對象,它的最大值爲to_date。Django - QuerySet過濾器 - 梳理2個條件
Delivery.objects.filter(name__exact = 'name1').aggregate(Max('valid_to'))
上述查詢將返回最大日期。是否有可能獲取完整的對象?
要獲取失效日期排列的單個對象:
obj = Delivery.objects.filter(name='name1', to_date=my_date).order_by('-valid_to')[0]
試試這個:
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
值。在這種情況下,你可以全部接受它們,或者例如取最小的身份證,取決於你的需要。
最大('valid_to')丟失 – 2010-11-21 15:17:01
我認爲這是一個錯誤,因爲valid_to沒有被提及爲一個字段。你可以發佈模型嗎?更新了代碼,以反映我認爲您嘗試實現的目標 – sunn0 2010-11-21 15:26:53