从数据库日期中查找最接近今天的日期时遇到问题
Trouble with finding closest date to today from database dates
使用 django/models/views,我试图从其中一列是日期的数据库中 return 到今天最近的日期。 (2016/03/25)
我现在用来查找日期的代码是:
now = datetime.datetime.now().date()
statement_list = StatementData.objects.filter(date__gt=now()).reverse()[0]
我从另一个 Whosebug 问题得到了这个,但它 return 是一个错误:
datetime.date' object is not callable
日期的字段名称是 "date",我不知道这是否有问题。
基本上我想要的是:
SELECT * FROM StatementDate WHERE date = "(this is the date that is closest to today)"
我还想要下一个最接近该日期的日期...但我相信一旦我完成第一个查询就可以得到它。
看,我知道这可能是重复的,但我似乎无法找出其他答案,而且我无法 post 对它们发表评论来弄清楚。所以......如果你能指出我确切回答的问题或在这里帮助我,我将非常感激。
您的代码存在一些问题
now = datetime.datetime.now().date()
statement_list = StatementData.objects.filter(date__gt=now()).reverse()[0]
- 从
date
中删除 ()
- 去掉第二行的
()
- 您可以只使用
.last()
而不是 reverse()[0]
now = datetime.datetime.now().date
statement_list = StatementData.objects.filter(date__gt=now).last()
为了解释您得到的实际错误,通过添加括号,python 认为您正在尝试调用名称为 date
的方法,然后在 now
,其中这些不是方法(可调用对象)。它们只是对象。
你为什么不试试呢:
select * from StatementDate order by now()-date limit 1
使用 django/models/views,我试图从其中一列是日期的数据库中 return 到今天最近的日期。 (2016/03/25)
我现在用来查找日期的代码是:
now = datetime.datetime.now().date()
statement_list = StatementData.objects.filter(date__gt=now()).reverse()[0]
我从另一个 Whosebug 问题得到了这个,但它 return 是一个错误:
datetime.date' object is not callable
日期的字段名称是 "date",我不知道这是否有问题。
基本上我想要的是:
SELECT * FROM StatementDate WHERE date = "(this is the date that is closest to today)"
我还想要下一个最接近该日期的日期...但我相信一旦我完成第一个查询就可以得到它。
看,我知道这可能是重复的,但我似乎无法找出其他答案,而且我无法 post 对它们发表评论来弄清楚。所以......如果你能指出我确切回答的问题或在这里帮助我,我将非常感激。
您的代码存在一些问题
now = datetime.datetime.now().date()
statement_list = StatementData.objects.filter(date__gt=now()).reverse()[0]
- 从
date
中删除 - 去掉第二行的
()
- 您可以只使用
.last()
而不是reverse()[0]
()
now = datetime.datetime.now().date
statement_list = StatementData.objects.filter(date__gt=now).last()
为了解释您得到的实际错误,通过添加括号,python 认为您正在尝试调用名称为 date
的方法,然后在 now
,其中这些不是方法(可调用对象)。它们只是对象。
你为什么不试试呢:
select * from StatementDate order by now()-date limit 1