我想用这个代码做的是得到所有比昨天更早的数据。它会抛出一个错误"需要一个整数"在这一行:
date = datetime.date(年,月,昨)
到目前为止,据我所知,它将整年视为整数而非月份字段。它将月份字段作为默认日期时间字段。
继承我的观点:
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})
答案 0 :(得分:1)
此代码令人困惑。 yesterday
和month
都是日期时间,因为这是你在第2行和第4行中定义它们的方式。那么你想要在抛出错误的代码中实现什么?如消息所示,您无法将日期时间作为日期或月份参数传递以构建另一个日期时间。特别是,当然yesterday
已经是您想要的日期了吗?为什么不能简单地将其传递给查询?
答案 1 :(得分: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})