我有一个查询工作,用于返回最接近当前日期且距当前日期最远的项目。我想更改查询以查找将来最接近的日期和过去最近的日期。有没有办法将结果限制为仅返回之前或将来的日期?
我当前的查询如下所示:
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]
答案 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
请注意,all()
之前您不需要filter()
。