【问题标题】:DateTimeField without timeDateTimeField 没有时间
【发布时间】:2012-12-31 04:56:19
【问题描述】:
class Data(models.Model):
    time = models.DateTimeField()

我的变量中有:

var = 2013-01-17 17:30

Data.objects.filter(time=var)

我需要今天的所有数据(2013-01-17 - 没有时间)

怎么办?

【问题讨论】:

    标签: django


    【解决方案1】:

    似乎没有一种非常直接的方法可以做到这一点。见How can I filter a date of a DateTimeField in Django?

    您可以使用 strptime 从字符串中获取日期时间 (Converting string into datetime):

    from datetime import datetime
    
    datetime.strptime(var, '%Y-%m-%d %H:%M:%S')
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,并通过使用 models.DateField() 而不是 models.DateTimeField() 来解决它。

      【讨论】:

      • 这应该是例外的答案
      • 真的很特别。 +2
      【解决方案3】:

      你可以在过滤器中使用范围

      Data.objects.filter(date__range=(date_min, date_max))
      

      您可以在 00.00 和 23.59 之间设置时间

      【讨论】:

        猜你喜欢
        • 2019-12-21
        • 2016-06-23
        • 1970-01-01
        • 2021-01-01
        • 2014-12-03
        • 2013-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多