【问题标题】:Using .filter to show DB entries created (today) in Django使用 .filter 显示在 Django 中创建(今天)的数据库条目
【发布时间】:2015-02-21 01:28:10
【问题描述】:

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

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

【问题讨论】:

    标签: python django django-orm


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 2022-11-28
      • 1970-01-01
      • 2021-01-09
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 2019-01-16
      • 1970-01-01
      相关资源
      最近更新 更多