使用 .filter 显示(今天)在 Django 中创建的数据库条目
Using .filter to show DB entries created (today) in Django
我的表单允许用户在数据库中创建条目,并带有时间戳:
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
这会创建如下条目:2015-02-20 03:10:00
如何使用 .filter 只搜索时间戳的日期部分?我到目前为止:
for running in viewteam.daily_risk_set.all().filter(team = 4713).filter(created = today).order_by('-created')[:1]:
// do something
我只想显示团队 4713 的最后一个条目,但我不知道如何处理这些日期。
日期对象在查询集中被视为 DATE 00:00:00
日期时间。所以你可以过滤今天和明天之间的日期时间:
import datetime
today = datetime.date.today()
tomorrow = today + datetime.timedelta(days=1)
viewteam.daily_risk_set.filter(team=4713,
created__gte=today, created__lt=tomorrow) \
.order_by('-created')[:1]:
我的表单允许用户在数据库中创建条目,并带有时间戳:
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
这会创建如下条目:2015-02-20 03:10:00
如何使用 .filter 只搜索时间戳的日期部分?我到目前为止:
for running in viewteam.daily_risk_set.all().filter(team = 4713).filter(created = today).order_by('-created')[:1]:
// do something
我只想显示团队 4713 的最后一个条目,但我不知道如何处理这些日期。
日期对象在查询集中被视为 DATE 00:00:00
日期时间。所以你可以过滤今天和明天之间的日期时间:
import datetime
today = datetime.date.today()
tomorrow = today + datetime.timedelta(days=1)
viewteam.daily_risk_set.filter(team=4713,
created__gte=today, created__lt=tomorrow) \
.order_by('-created')[:1]: