【问题标题】:Django : filter object based on a dateDjango:根据日期过滤对象
【发布时间】:2021-04-02 00:23:44
【问题描述】:

我正在尝试根据日期字段过滤我的请求。

我想检查一个日期是否大于当前日期。

这是我尝试过的,基于这个答案:How do I filter query objects by date range in Django?

orders.object.filter(deliveryDay__gt = date.today()).order_by('-id')

一旦我收到尚未交付的订单,我想将它们返回到我的 API 以便能够在前端处理它们

不幸的是,它在我的查询中不起作用,无论日期如何,它都会向我返回所有订单。

我不明白我的错误在哪里。

这是我的模型:

class order(models.Model):
    user = models.ForeignKey(memberArea, on_delete=models.CASCADE)
    comment = models.TextField(null=True, blank=True)
    orderDay = models.DateTimeField(auto_now_add=True)
    deliveryDay = models.DateField()
    deliveryAddress = models.CharField(max_length=255)
    state = models.CharField(max_length=255, null=True,
                             blank=True, default="Waiting")
    price = models.TextField(null=True, blank=True)
    response = models.TextField(null=True, blank=True)
    shop = models.ForeignKey(Shop, on_delete=models.CASCADE, null=True, blank=True)

提前感谢您的帮助。

【问题讨论】:

  • 你能否添加更多关于你如何使用它的细节(可能是整个视图和你的模型字段)
  • 我编辑了我的帖子并添加了我正在使用的模型

标签: python django date object filter


【解决方案1】:

试试这个:

from datetime import datetime
orders.object.filter(deliveryDay__gt = datetime.now()).order_by('-id')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 2013-03-07
    • 2014-09-04
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 2018-05-17
    相关资源
    最近更新 更多