我正在datetime为一个对象保存数据库.我想查询数据库并选择今天的任何内容date,而不是日期时间.
最简单的方法是什么?这不起作用:
invoice_for_today = Invoice.objects.get(user=user, date=date.today())
Run Code Online (Sandbox Code Playgroud)
Ism*_*awi 50
我记得有计划添加一个__date字段查找来使这更容易,但因为它是"标准"的做法
today_min = datetime.datetime.combine(datetime.date.today(), datetime.time.min)
today_max = datetime.datetime.combine(datetime.date.today(), datetime.time.max)
Invoice.objects.get(user=user, date__range=(today_min, today_max))
Run Code Online (Sandbox Code Playgroud)
小智 25
你也可以这样做:
today = date.today()
invoice_for_today = Invoice.objects.filter(date__year=today.year, date__month=today.month, date__day=today.day)
Run Code Online (Sandbox Code Playgroud)
小智 20
在django <1.9
from django.utils.timezone import datetime #important if using timezones
today = datetime.today()
foo_for_today = Foo.objects.filter(datefield__year=today.year, datefield__month=today.month, datefield__day=today.day)
Run Code Online (Sandbox Code Playgroud)
在django> 1.9中,因为他们添加了date关键字
foo_for_today = Foo.objects.filter(datefield__date=datetime.date.today())
Run Code Online (Sandbox Code Playgroud)
Django 1.9 中有一个新的 __date 字段查找,您可以使用:
Entry.objects.filter(pub_date__date=datetime.date(2005, 1, 1))
Entry.objects.filter(pub_date__date__gt=datetime.date(2005, 1, 1))
Run Code Online (Sandbox Code Playgroud)
要获取过去 24 小时的条目,您可以使用:
from datetime import datetime, timedelta
Entry.objects.filter(pub_date__gte = datetime.now() - timedelta(days=1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45667 次 |
| 最近记录: |