[英]Django: Filter objects by date range
我的對象模型是:
class Event(models.Model):
start = models.DateTimeField()
end = models.DateTimeField()
我今天需要過濾所有對象。
我有一個對象,其開始日期為2014/03/01 00:00,結束日期為2014/10/01 00:00。 在今天日期之前過濾對象時,我需要該對象:
Event.objects.filter(start__gte=today, end__lte=today)
如何按今天日期過濾對象,並在開始>今天<結束的地方獲得所有結果?
從datetime.date.today()
獲取今天的日期,並使用gt
和lt
:
import datetime
today = datetime.date.today()
Event.objects.filter(start__lt=today, end__gt=today)
這將過濾開始日期小於今天且結束日期大於今天的對象。
您可以使用datetime模塊的Combine方法:
import datetime
today = datetime.datetime.today()
Event.objects.filter(start__gte=datetime.datetime.combine(today, datetime.time.min),
end__lte=datetime.datetime.combine(today, datetime.time.max))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.