繁体   English   中英

“必须为整数”日期时间字段

[英]“An integer is required” datetime field

我要用此代码执行的操作是获取所有日期早于昨天的数据。 它在该行上引发错误“需要整数”:

日期= 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})

这段代码令人困惑。 yesterdaymonth都是日期时间,因为那是您在第2行和第4行中定义它们的方式。那么您要在引发错误的代码中尝试实现什么? 如消息所示,您不能将日期时间作为天或月参数来构造另一个日期时间。 尤其是,当然, yesterday已经是您想要的日期? 为什么不能简单地将其传递给查询?

尝试这个,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM