"需要一个整数"日期时间字段

时间:2014-06-03 11:27:30

标签: python sql django

我想用这个代码做的是得到所有比昨天更早的数据。它会抛出一个错误"需要一个整数"在这一行:

  

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})

2 个答案:

答案 0 :(得分:1)

此代码令人困惑。 yesterdaymonth都是日期时间,因为这是你在第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})