美文网首页
Django ORM按月month查询数据库(MySQL 8.0

Django ORM按月month查询数据库(MySQL 8.0

作者: sy813 | 来源:发表于2022-01-27 12:54 被阅读0次

    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、命令末尾没有“;”。

    相关文章

      网友评论

          本文标题:Django ORM按月month查询数据库(MySQL 8.0

          本文链接:https://www.haomeiwen.com/subject/qzcahrtx.html