Django Mysql数据库返回无效的日期时间值

问题描述:

我有一个Django应用程序。我使用Docker容器中运行的MySql服务器作为数据库。刚转移到自定义用户模型后。现在,我得到这些错误: 环境:Django Mysql数据库返回无效的日期时间值

Request Method: GET 
Request URL: http://127.0.0.1:8000/dashboard/ 

Django Version: 1.10.3 
Python Version: 3.5.2 
Installed Applications: 
['grappelli', 
'django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.messages', 
'django.contrib.sessions', 
'django.contrib.staticfiles', 
'django.contrib.sites', 
'corsheaders', 
'rest_framework', 
'rest_framework.authtoken', 
'oauth2_provider', 
'social.apps.django_app.default', 
'rest_framework_social_oauth2', 
'rest_framework_swagger', 
'accounts', 
'dashboard', 
'items', 
'storages', 
'userprofile', 
'common', 
'registration', 
'debug_toolbar', 
'django_extensions'] 
Installed Middleware: 
['django.middleware.security.SecurityMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'corsheaders.middleware.CorsMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware', 
'debug_toolbar.middleware.DebugToolbarMiddleware'] 



Traceback: 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner 
    39.    response = get_response(request) 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/core/handlers/base.py" in _legacy_get_response 
    249.    response = self._get_response(request) 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 
    187.     response = self.process_exception_by_middleware(e, request) 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 
    185.     response = wrapped_callback(request, *callback_args, **callback_kwargs) 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view 
    23.     return view_func(request, *args, **kwargs) 

File "/home/kuba/code/VeeU/Server/dashboard/views.py" in index 
    66.       Bookmark.objects.datetimes('date_bookmarked', 'day')] 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/db/models/query.py" in __iter__ 
    256.   self._fetch_all() 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/db/models/query.py" in _fetch_all 
    1087.    self._result_cache = list(self.iterator()) 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/db/models/query.py" in __iter__ 
    155.   for row in compiler.results_iter(): 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in results_iter 
    795.      row = self.apply_converters(row, converters) 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in apply_converters 
    779.     value = converter(value, expression, self.connection, self.query.context) 

File "/home/kuba/.virtualenvs/VeeU/lib/python3.5/site-packages/django/db/models/functions/datetime.py" in convert_value 
    181.       "Database returned an invalid datetime value. " 

Exception Type: ValueError at /dashboard/ 
Exception Value: Database returned an invalid datetime value. Are time zone definitions for your database and pytz installed? 

我tryed运行mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql,但它不工作。我也尝试在容器中设置default-time-zone = 'UTC'/etc/mysql/my.cnf

编辑:

我也有pytz安装

pip freeze | grep pytz 
pytz==2016.7 

我曾与在Debian Linux上的Django和MySQL同样的问题,并能够通过运行该命令,它填充TIME_ZONE来解决它表中指定的(配置)数据库MySQL的

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql