Изменение часового пояса в существующем проекте Django

StackOverflow https://stackoverflow.com/questions/689831

Вопрос

Как идиот, я совершенно упустил из виду настройку часового пояса, когда впервые создавал приложение, собирающее данные даты и времени.

Тогда это не было проблемой, потому что все, что я делал, это сравнивал и упорядочивал стили «с тех пор».Теперь мне нужно создать полные отчеты, показывающие фактическую дату и время, и, конечно же, все они хранятся в Америке/Чикаго (нелепый стандарт Django).

Так да.У меня есть база данных среднего размера, полная неверных дат.я хочу изменить settings.TIME_ZONE к 'UTC' но это не помогает моим существующим данным.

Что лучше (читай:самый простой и быстрый) способ массового преобразования всех данных модели?

(Все данные взяты за последние два месяца, поэтому, к счастью, нет необходимости конвертировать летнее время)

Этот проект в настоящее время находится на SQLite, но у меня есть другой проект на PostgreSQL с аналогичной проблемой, и я, возможно, захочу сделать то же самое до того, как начнется летнее время...Так что в идеале ответ, не зависящий от БД.

Это было полезно?

Решение

Я бы выполнил массовое обновление таблиц базы данных, добавив или вычитая часы из полей даты и времени.

Нечто подобное работает в SQL Server и добавляет к дате 2 часа:

update tblName set date_field = dateadd("hh", 2, data_field)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top