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()
    

Первоначально у меня была такая же проблема локально, но настройка базы данных с указанными параметрами исправила это.

Любая помощь будет потрясающей.

0 ответов

Другие вопросы по тегам