django2.0 mysql5.7 timezone 设置
问题描述:
1.windows环境
2.使用Django2.0做项目时,数据库使用mysql5.7
3.当使用filter根据时间返回查询结果时,返回结果为空,
例如Blog.objects.filter(create_time__year=2018, create_time__month=6)返回结果为空
问题原因:
1.[django官方描述](https://docs.djangoproject.com/en/2.0/ref/databases/#time-zone-definitions)
2.使用django+mysql时,需要另外加载时区表
解决方法:
linux
1.加载系统自带的zoneinfo数据库
shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
2.如果系统没有,从此处下载
https://dev.mysql.com/downloads/timezones.html
3.重启mysql
windows
1.下载timezone sql文件
https://dev.mysql.com/downloads/timezones.html
https://downloads.mysql.com/general/timezone_2018e_posix_sql.zip
2.加载
shell> mysql -u root mysql < file_name
3.重启mysql