【问题标题】:Get all objects with today date, django获取今天日期的所有对象,django
【发布时间】:2021-12-11 01:33:17
【问题描述】:

我有一个这样的模型

class Maca(models.Model):
   created_at = models.DateTimeField(
     auto_now_add=True
   )

现在我想在 views.py 文件中获取今天创建的所有条目,

我正在尝试这个

Maca.objects.filter(created_at=datetime.today().date())

但这也会查找对象创建的时钟。

P.S 我无法更改模型中的字段,因为我还需要时钟用于其他用途。

有人可以帮我选择今天创建的所有条目吗?

提前致谢

【问题讨论】:

    标签: python django web


    【解决方案1】:

    有很多方法可以从数据库中获取今天的数据。

    year =  datetime.datetime.now().strftime('%y')
    month =  datetime.datetime.now().strftime('%m')
    day =  datetime.datetime.now().strftime('%d')
    filtereddata = Maca.objects.filter(created_at__year=year,created_at__month=month, created_at__day=day )
    

    第二种方法是使用包含过滤

    filtereddata = Maca.objects.filter(created_at__contains=datetime.today().date())
    

    如果 datetime.datetime 不起作用。只删除一个日期时间只使用一个日期时间

    【讨论】:

      【解决方案2】:

      我认为主要原因是因为您试图将dt 字段与date 进行比较。

      您可以use prefixes 获取字段。

      或者您可以将您的“今天”值与dt(只是一个示例)进行比较:

      today = datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)
      records = Maca.objects.filter(created_at >= today)
      

      【讨论】:

        【解决方案3】:

        你只需要像这样写一个有效的过滤器:

        from datetime import datetime
        
        today = datetime.today()
        
        year = today.year
        month = today.month
        day = today.day
        
        meca = Meca.objects.filter(created_at__year=year, 
        created_at__month=month, created_at__day=day)
        

        【讨论】:

          猜你喜欢
          • 2020-09-28
          • 1970-01-01
          • 2013-07-08
          • 1970-01-01
          • 2022-11-15
          • 1970-01-01
          • 2023-03-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多