Django: объект «unicode» не имеет атрибута «tzinfo», ошибка с использованием django-pyodbc-azure

Меня попросили создать простой веб-интерфейс для внутренней базы данных MSSQL. Я использую django-pyodbc-azure.

Наконец-то я все настроил и запустил, но теперь, когда я пытаюсь войти на страницу администратора, я получаю ошибку "unicode" объект не имеет атрибута "tzinfo". Я попробовал предложение здесь но это не помогло. Любые предложения очень приветствуются!


person Paul Greene    schedule 06.07.2016    source источник
comment
Можете ли вы предоставить трассировку стека?   -  person Bernard 'Beta Berlin' Parah    schedule 06.07.2016
comment
stackoverflow.com/questions/16492031/   -  person miyamoto    schedule 06.07.2016
comment
Миямаото - спасибо за ссылку. Я добавил строку 'use_legacy_datetime' : True, но я не стал вручную менять все свои datetime2 на datetime. Как только я это сделал, проблема исчезла.   -  person Paul Greene    schedule 07.07.2016


Ответы (1)


Решение было опубликовано miyamoto. Мне пришлось добавить строку 'use_legacy_datetime': True в параметры подключения к моей базе данных в Django, а затем мне пришлось вручную изменить все столбцы Datetime2 в моей базе данных на Datetime.

Дополнительную информацию о решении можно найти здесь.

Вот трассировка стека для дальнейшего использования:

Environment:


Request Method: POST
Request URL: http://****:7777/admin/login/?next=/admin/

Django Version: 1.9.7
Python Version: 2.7.3
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 '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']



Traceback:

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  149.                     response = self.process_exception_by_middleware(e, request)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  147.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in login
  414.         return login(request, **defaults)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/contrib/auth/views.py" in inner
  49.         return func(*args, **kwargs)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/views/decorators/debug.py" in sensitive_post_parameters_wrapper
  76.             return view(request, *args, **kwargs)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  149.                     response = view_func(request, *args, **kwargs)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/contrib/auth/views.py" in login
  76.             auth_login(request, form.get_user())

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py" in login
  110.         request.session.cycle_key()

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py" in cycle_key
  307.         self.delete(key)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/contrib/sessions/backends/db.py" in delete
  98.             self.model.objects.get(session_key=session_key).delete()

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
  122.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/db/models/query.py" in get
  381.         num = len(clone)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/db/models/query.py" in __len__
  240.         self._fetch_all()

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/db/models/query.py" in _fetch_all
  1074.             self._result_cache = list(self.iterator())

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/db/models/query.py" in __iter__
  68.         for row in compiler.results_iter(results):

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in results_iter
  808.                     row = self.apply_converters(row, converters)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in apply_converters
  792.                 value = converter(value, expression, self.connection, self.query.context)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/sql_server/pyodbc/operations.py" in convert_datetimefield_value
  106.                 value = timezone.make_aware(value, timezone.utc)

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/utils/timezone.py" in make_aware
  367.         if is_aware(value):

File "/sites/flashlog/venv/local/lib/python2.7/site-packages/django/utils/timezone.py" in is_aware
  340.     return value.utcoffset() is not None

Exception Type: AttributeError at /admin/login/
Exception Value: 'unicode' object has no attribute 'utcoffset'
person Paul Greene    schedule 06.07.2016