簡體   English   中英

為什么Django模型日期過濾器會在前一天生成查詢

[英]why django model date filter generates query with a day before

import datetime
d = datetimte.datetime.today()
print d
2015-01-02 03:59:48.392104
print CourseDay.objects.filter(date__exact=d).query

SELECT `website_courseday`.`id`, `website_courseday`.`date`,
`website_courseday`.`presentation_id` FROM `website_courseday` 
 WHERE `website_courseday`.`date` = 2015-01-01 22:29:48

為什么它在值的前一天生成日期?

我正在使用django 1.4.10和mysql作為數據庫服務器。

您的主要問題似乎是將datetime對象與date對象混淆。

(我假設CourseDaydate字段是DateField ,因為__exact查詢對於DateTimeField並沒有多大意義。)

如果您只關心本地時間(如果您有USE_TZ=False ,情況似乎就是這種情況),則解決方案很簡單:

import datetime

d = datetime.date.today()  # note the difference
CourseDay.objects.filter(date__exact=d)  # should work as you expect

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM