需要整数"日期时间字段
我想用这段代码获取所有日期在昨天之前的数据。但是在这一行代码时出现了一个错误:“需要一个整数”:
date = datetime.date(year, month, yesterday)
根据我目前的理解,代码把年份当作整数来处理,但月份的字段却没有这样处理。它把月份字段当作默认的日期时间字段来用。
这是我的看法:
current = datetime.datetime.now()
yesterday = datetime.datetime.today() + datetime.timedelta(days = -1)
year = datetime.date.today().year
month = datetime.date.today() + relativedelta(months = -1)
date = datetime.date(year, month, yesterday)
hist_obj = Events.objects.filter(uploader = request.user,
start_date__lte = date)
return render_to_response('history.html', {'history_obj':hist_obj})
2 个回答
1
这段代码让人困惑。yesterday
和 month
都是日期时间类型,因为你在第2行和第4行是这样定义的。那么你在这段代码中想要实现什么呢?错误信息说,你不能把一个日期时间当作天或月的参数来构造另一个日期时间。尤其是,yesterday
不就是你想要的日期吗?为什么不直接把它传给查询呢?
0
试试这个,
day_ago = datetime.date.today() - datetime.timedelta(days=1)
yesterday = datetime.datetime(day_ago.year, day_ago.month, day_ago.day)
hist_obj = Events.objects.filter(uploader = request.user,
start_date__lt = yesterday)
return render_to_response('history.html', {'history_obj':hist_obj})