【问题标题】:Get object with specific hour in django在 django 中获取特定时间的对象
【发布时间】:2016-12-09 11:43:13
【问题描述】:

我有这样的模型:

class Order(models.Model):
    dateTime = models.DateTimeField()

我想获取特定时间的对象 我怎样才能做到这一点? 下面的代码不起作用:

o=Order.objects.get(dateTime.hour=12)

有这个问题:keyword can't be an expression

现在..我应该如何给定单对象指定时间?

【问题讨论】:

  • 基本上你不能在dateTime.hour上写一个查询,因为你只告诉Django你的模型Order有一个名为dateTime的属性。 Django 不知道除此之外。因此,您只能在dateTime 上写下您的查询
  • 没有办法吗? @AnkushRaghuvanshi
  • 这可能会有所帮助 -> stackoverflow.com/questions/10345147/…
  • 伯尼的解决方案应该可以解决您的目的。

标签: python django


【解决方案1】:

以下将为您提供所有 hour 值为 12 的对象。

o = Order.objects.filter(dateTime__hour=12)

可以用来代替

o = Order.objects.get(dateTime__hour=12)` 

如果您有唯一的 hour 对象值,则获取该对象。

但是如果已经知道你有 hour 的唯一值,那么你应该使用 后者。

【讨论】:

    【解决方案2】:

    https://docs.djangoproject.com/en/1.9/ref/models/querysets/#hour

    o = Order.objects.filter(dateTime__hour=12)
    

    【讨论】:

      猜你喜欢
      • 2014-06-23
      • 1970-01-01
      • 2012-03-18
      • 2011-12-20
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 2023-03-05
      • 2018-02-26
      相关资源
      最近更新 更多