如何筛选与给定日期匹配的日期的查询集?

时间:2014-02-20 20:25:42

标签: python django datetime

我正在尝试为Django中的视图构建一个查询,我想在其中检索具有今天日期的行(无论时间)。

我在考虑当前日期和datetime.datetime.now()

之间的范围

然而,我不能只得到日期而不是时间。

我有这个:

now = datetime.datetime.now()
today = datetime.datetime.today()
var = Example.objects.filter(date__gt=datetime.date(today.year(), today.month(), today.day()), fecha__lt=now)

3 个答案:

答案 0 :(得分:9)

today = datetime.datetime.today()
Example.objects.filter(
    date__year=today.year, 
    date__month=today.month, 
    date__day=today.day
)

答案 1 :(得分:2)

仅使用datetime.now()类的date()方法获取创建日期大于当前日期的行。

where row.createdate > datetime.datetime.now().date()

答案 2 :(得分:1)

这应该有用。

import datetime
from django.db import models
from django.utils import timezone

class ExampleManager(models.Manager):
    def today(self):
        return super(ExampleManager, self).get_queryset().filter(pub_date__gte=datetime.datetime.today().date())

class ExampleModel(models.Model):
    # ...
    pub_date = models.DateTimeField(auto_now_add=True)
    objects = ExampleManager()