使用.filter显示在Django中创建的(今天)数据库条目

时间:2015-02-21 01:28:11

标签: python django django-orm

我的表单允许用户在数据库中创建条目,并带有时间戳:

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团队的最后一个条目,但我不知道如何处理日期。

1 个答案:

答案 0 :(得分:0)

日期对象在查询集中被视为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]: