Django ORM 解决mysql无法使用月份filter过滤获取数据问题

mysql里面根据年可以过滤出数据,根据月份过滤不出来,如图:

Django ORM 解决mysql无法使用月份filter过滤获取数据问题


Django ORM 解决mysql无法使用月份filter过滤获取数据问题
因为我们在setting.py文件里,设置了
TIME_ZONE = 'Asia/Shanghai'

mysql不认识上海这个时区,

所以我们就要去设置这个时区


第一种解决方案


    直接在setting.py文件中设置

    USE_TZ = False 

第二种解决方案

    mysql官方文档写了这两种系统天生不包含时区转换的这个文件,它没有支持windows的时区转换,如图:

Django ORM 解决mysql无法使用月份filter过滤获取数据问题

    所以如果是在linx,直接执行下面这条命令,如图:

Django ORM 解决mysql无法使用月份filter过滤获取数据问题
    
如果是在windows:

    下载mysql时区文件:https://dev.mysql.com/downloads/timezones.html


Django ORM 解决mysql无法使用月份filter过滤获取数据问题

       拷贝到C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql目录下
       重启mysql
       登录mysql,执行:
        SET GLOBAL time_zone = 'Asia/Shanghai';
        SET SESSION time_zone = 'Asia/Shanghai';

        SELECT @@global.time_zone,@@session.time_zone;


 Django ORM 解决mysql无法使用月份filter过滤获取数据问题