Django对DateTimeField时间字段查询QuerySet为空的解决方案
今天在用的Django中的filter()方法对DateTimeField字段查询时碰到了问题,抓耳挠腮一下午,终于解决了,我觉得花了一下午的时间怎么着也得记录下吧(无语)......
问题描述 :
date = "2017-12-31“
flagcode = DataTest.objects.filter(flagcode__icontains=flagcode,takeofftime__year=date.year) 时没问题,可以查询到,但是在用__month,__day,__date时都为空,查找技术文档得知是和Django的默认时区有关,在settings里把USE_TZ改为Flase,就可以完美解决:
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = False