Django View中查询MySQL数据时会出现无数据返回问题。
如:
queryset= self.filter_queryset(self.get_queryset()).filter(createdtime__year=year).filter(createdtime__month=month)
当用SQLite数据库时不会出现此问题。
登录MySQL后台,show variables like '%time_zone'%; 查询时区配置,显示是“+08:00”,但Django ORM传递的是‘Asia\ShangHai’,MySQL不认识此时区,需下载配置文件解决。
参照: https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html
自带时区配置文件的Linux系统直接运行 mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql 命令即可。
Windows系统需在 https://dev.mysql.com/downloads/timezones.html 页面下载对应的时区配置文件。
5.7+版本下载timezone_2021e_posix_sql.zip文件,解压到MySQL data目录。
在CMD窗口 输入 mysql -u root -p mysql < file_name 即可。
注意:
1、不要登录MySQL,直接命令行输入命令。
2、file_name为上一步解压的文件的目录,如:C:\mysql-8.0.23-winx64\data\mysql\timezone_posix.sql
3、命令末尾没有“;”。
提交评论
您尚未登录,登陆之后方可评论 登录 or 注册