今天在用的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