chewarer
@chewarer

Как заставить DateTime field сохранять корректное текущее время?

Есть поле модели:
dt = models.DateTimeField(null=False, auto_now=True)

При обновлении объекта, в это поле записывается мое локальное время + 7 часов UTC. Хотя я жду что будет записываться UTC время.
сейчас пишется так:
"2017-02-22 10:58:54.025505+07"
а должно вот так:
"2017-02-22 03:58:54.025505+07"

Т.е. сохраняется мое локальное время, а записывается как абсолютное время.
Как сохранять правильное время?
В настройках стоит USE_TZ = False, пробовал менять на True, разницы нет.
  • Вопрос задан
  • 671 просмотр
Пригласить эксперта
Ответы на вопрос 1
Falseclock
@Falseclock
решаю нестандартные задачи
что-то вы перемудрили и сами себя запутали.

вы определитесь как хотите время хранить. Постгрес предлагает хранит время с временной зоной или без временной зоны.
https://www.postgresql.org/docs/9.6/static/datatyp...

Вы в конце времени ставите +07, а значит время с временной зоной.

сделайте поле без временной зоны, а со стороны языка решите какое время вы будете хранить в базе, UTC или локальное время, потому что иначе будете путаться и лишний раз одно время переводить в другое. Если поле без временной зоны, то оно будет игнорировать зону и сохранять значение без конвертации.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы