2014-11-23 42 views
0

我有一個查詢,用於返回距離當前日期最近且距當前日期最遠的項目。我想更改查詢以查找將來的最近日期和過去最近的日期。有沒有辦法限制結果只返回之前或未來的日期?Django查詢查找過去或未來最近的項目

我當前的查詢看起來是這樣的:

next = Product.objects.all().filter(categories__name='Subscription').filter(name__gt=date.today()).order_by("name")[0] 
current = Product.objects.all().filter(categories__name='Subscription').filter(name__gt=date.today()).order_by("-name")[0] 

回答

2

最近的未來:

next = Product.objects.filter(
    categories__name='Subscription' 
).filter(name__gt=date.today()).order_by("name")[0] 

最近的過去:

current = Product.objects.filter(
    categories__name='Subscription' 
).filter(name__lt=date.today()).order_by("-name")[0] 

https://docs.djangoproject.com/en/dev/ref/models/querysets/#field-lookups

不e你在filter()之前不需要all()

+0

完美的謝謝。 – byrdr 2014-11-23 18:52:18