Django: объект 'unicode' не имеет атрибута 'tzinfo'. Только производственный сервер
Я в тупике. С моей локальной настройкой (python manage.py runserver) все работает нормально. После настройки моего производства (wsgiserver.CherryPyWSGIServer) я получаю 'unicode' object has no attribute 'tzinfo'
когда моя программа пытается преобразовать datetime2(7) из базы данных в местное время в модуле pytz. Использование Django 1.9.
Обе установки используют django-pyodbc-azure для подключения к одной и той же базе данных mssql. Фактически, чтобы устранить это, оба используют одни и те же файлы настроек.
# settings.py ... DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'dbname', 'OPTIONS': { 'use_mars': True, 'use_legacy_datetime': True, 'driver': 'SQL Server Native Client 11.0' } } } ... # Relevant to runserver command: WSGI_APPLICATION = 'wsgi.application'
Производство запускается с помощью этого файла:
# deploy_server.py from . import wsgi sn = socket.gethostname() server = wsgiserver.CherryPyWSGIServer( ('0.0.0.0', 8009), wsgi.application, server_name=sn, ) server.start()
Local запускается с помощью команды runserver Djangos
wsgi.py:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
Первоначально у меня была такая же проблема локально, но настройка базы данных с указанными параметрами исправила это.
Любая помощь будет потрясающей.