Zinnia 在后端 MySQL 的 QuerySet.datetimes() 中返回了无效值

Zinnia returned an invalid value in QuerySet.datetimes() with MySQL backend

我已经在这方面完成了 this, and this and followed the docs,但我仍然遇到错误。我不知道如何调试它。回溯在最后。

更新:使用 MySQL 后端是罪魁祸首。 SQLite3没问题,但是传入django后端的查询数据MySQL编译代码returns什么都没有,自己执行的时候,returns报错。其他人有这个问题吗?是否有解决方法,或者我完全错了?

重现步骤:

使用MySQL作为数据库。

访问以下视图:

from zinnia.views.archives import EntryIndex
url(r'^testing',
        EntryIndex.as_view(),
        name='zinnia_entry_archive_index'),

输入博客。

刷新视图。

繁荣。

File "/opt/envs/django16/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 112, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/envs/django16/local/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
  return self.dispatch(request, *args, **kwargs)
File "/opt/envs/django16/local/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch
return handler(request, *args, **kwargs)
File "/opt/envs/django16/local/lib/python2.7/site-packages/django/views/generic/dates.py", line 333, in get
  self.date_list, self.object_list, extra_context = self.get_dated_items()
File "/opt/envs/django16/local/lib/python2.7/site-packages/django/views/generic/dates.py", line 415, in get_dated_items
  date_list = self.get_date_list(qs, ordering='DESC')
File "/opt/envs/django16/local/lib/python2.7/site-packages/django/views/generic/dates.py", line 394, in get_date_list
  if date_list is not None and not date_list and not allow_empty:
File "/opt/envs/django16/local/lib/python2.7/site-packages/django/db/models/query.py", line 100, in __nonzero__
self._fetch_all()
File "/opt/envs/django16/local/lib/python2.7/site-packages/django/db/models/query.py", line 857, in _fetch_all
  self._result_cache = list(self.iterator())
File "/opt/envs/django16/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1113, in results_iter
raise ValueError("Database returned an invalid value "

Database returned an invalid value in QuerySet.datetimes(). Are time zone definitions for your database and pytz installed?

我已将其追溯到 zinnia.views.archives.EntryIndex.as_view,但还看不出发生了什么。有人有什么想法吗?我是 运行 百日草 0.14.1

总之,需要手动加载时区信息,问题解决。未知时区是问题所在。

我已经像这样更改了 mysql 的时区

mysql> SET GLOBAL time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)

mysql> SET time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| +08:00             | +08:00              |
+--------------------+---------------------+
1 row in set (0.00 sec)

但错误依然存在。