Django ORM使用filter过滤月份无法获取数据

Incident.objects.filter(
                create_time__year=year,
                create_time__month=month
            ).values('create_time__date').annotate(Count('id'))

查询结果为空:<QuerySet []>

参考网上文章:https://www.cnblogs.com/panlq/p/8868108.html

该问题是mysql数据库时间转换时区时,缺少Django配置文件的时区

给mysql导入时区数据:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql
# 然后重启数据库
service mysql restart

重新查询,可以正常取到结果:<QuerySet [{'create_time__date': datetime.date(2...: datetime.date(2020, 12, 17), 'id__count': 26}]>

posted @ 2020-12-18 13:41  北斗星君  阅读(366)  评论(0编辑  收藏  举报