从数据库日期找到今天最接近的日期的麻烦

时间:2016-06-14 15:11:18

标签: python django postgresql views

使用django / models / views,我试图从其中一列是日期的数据库返回到今天最接近的日期。 (2016年3月25日)

我现在找到日期的代码是:

now = datetime.datetime.now().date()
statement_list = StatementData.objects.filter(date__gt=now()).reverse()[0]

我是从另一个stackoverflow问题得到的,但它返回一个错误:

datetime.date' object is not callable

日期的字段名称是“日期”,我不知道这是不是问题。

基本上我想要的是:

SELECT * FROM StatementDate WHERE date = "(this is the date that is closest to today)"

我也希望到那个日期的下一个最接近的日期...但我相信一旦我完成第一个查询,我就可以得到它。

看,我知道这可能是重复的,但我似乎无法弄清楚其他答案,我无法发表评论,以便弄明白。所以...如果你能指出我确切的答案问题或帮助我,我会非常感激。

2 个答案:

答案 0 :(得分:0)

您的代码存在一些问题

now = datetime.datetime.now().date()
statement_list = StatementData.objects.filter(date__gt=now()).reverse()[0]
  1. ()
  2. 中移除date
  3. 从第二行
  4. 中删除()
  5. 您可以使用.last()代替reverse()[0]
  6. now = datetime.datetime.now().date
    statement_list = StatementData.objects.filter(date__gt=now).last()
    

    为了解释你得到的实际错误,通过添加括号,python认为你试图调用名为date的方法,然后调用now的方法,其中这些是不是方法(callables)。它们只是物体。

答案 1 :(得分:0)

你为什么不试试:

 select * from StatementDate order by now()-date limit 1
相关问题