簡體   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