Как исправить эту ошибку? «Объект unicode не имеет атрибута tzinfo»

Я развертываю свой проект Django в Windows Azure. Я использовал SQLite в качестве сервера базы данных, и все было в порядке. Развернув Мой проект, я решил связать его с базой данных SQL Azure, но, похоже, это решение породило некоторые ошибки. Я больше не могу редактировать профили пользователей. Я всегда получаю эту ошибку: AttributeError в / admin / auth / user / 1 / 'юникода» объект не имеет атрибутаtzinfo»

 Ngenator11 мая 2013 г., 01:55
Stacktrace, вероятно, поможет диагностировать проблему

Ответы на вопрос(2)

У меня была такая же проблема, пытаясь использоватьdjango-pyodbc-azure база данных с Django (1.5.1): по умолчанию она хранитDateTimeField поля в вашей БД какdatetime2(7), который, похоже, все еще не поддерживается в Django. В моем случае я добавил опцию'use_legacy_datetime' : True вsettings.pyкак показано ниже:

DATABASES = {
    'default': {
        'ENGINE' : 'sql_server.pyodbc',
        'NAME' : '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'OPTIONS': {
            'use_mars': True,
            'use_legacy_datetime' : True, # I added this line
        },
    },
}

Я нашел свое решениеВот, Я неплохо знаю платформу Azure, поэтому я нене знаю, если это именно ваш случай, если нет, вы все еще можете изменить замену базы данныхdatetime2(N) поля со старым добрымdatetime из них.

Надеюсь, поможет.

 Matt15 июн. 2016 г., 01:53
Что такоеuse_mars а как ты это нашел?

Эта ошибка возникает, когда ваша база данных содержит метки даты и времени, например:

0000-00-00 00:00:00.000000

(это может произойти в MySQL, если вы удаляете или перезаписываете предыдущую дату с помощью MySQLWorkbench)

Когда вы попытаетесь получить эти записи в объекте модели Django, вы получите исключение изpytz библиотека часовых поясов:

AttributeError 'unicode' object has no attribute 'tzinfo'

Сначала вы должны отредактировать эти даты в своей базе данных и установить для них более поздние даты, например2018-01-01 00:00:00.000000 или установить наNULL (но не пустой).

Увидеть:

https://groups.google.com/forum/#!topic/django-users/Jg_9fQ3jMcU

Смотрите также:

# 1292 - Неверное значение даты: '0000-00-00'Ошибка в MySQL при установке значения по умолчанию для DATE или DATETIMEКак хранить значения NULL в полях datetime в MySQL?

Ваш ответ на вопрос