How to filter a queryset for dates matching a given day?
我正在试图为Django中的一个视图构建一个查询,在该视图中,我希望检索具有今天日期的行(无论时间如何)。
我在考虑当前日期和datetime.datetime.now()之间的范围。
但是我不能只得到日期,而不能得到时间。
我有这个:
1 2 3 | 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) |
1 2 3 4 5 6 | today = datetime.datetime.today() Example.objects.filter( date__year=today.year, date__month=today.month, date__day=today.day ) |
仅使用datetime.now()类的date()方法获取创建日期大于当前日期的行。
1 | where row.createdate > datetime.datetime.now().date() |
号
这应该有效。
1 2 3 4 5 6 7 8 9 10 11 12 | 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() |