[英]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
對象混淆。
(我假設CourseDay
的date
字段是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.