簡體   English   中英

Django:按日期范圍過濾對象

[英]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()獲取今天的日期,並使用gtlt

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM