Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 3, 2013 11:14:15

legi0ner
От: Чебоксары
Зарегистрирован: 2012-05-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

django timezone

всем привет.
В модели есть поле DateTimeField который по умолчанию - default=datetime.datetime.utcnow

from django.utils import timezone
class Temp(models.Model):
	date_create = models.DateTimeField(u'дата', default=datetime.datetime.utcnow)
в settings.py
USE_TZ = True
TIME_ZONE = 'Europe/Moscow'

проблема вот в чем.
текущая дата время = 2013-08-03 12:10
в БД поле = 2013-08-03 04:10
админка показывает = 2013-08-03 08:10

почему разница во времени 8 часов, должно быть 4

Отредактировано legi0ner (Авг. 3, 2013 11:24:10)

Офлайн

#2 Авг. 4, 2013 11:18:31

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

django timezone

Вообще, не стОит так делать, потому что дефолтом будет значение времени, когда модель инстанциировалась, а не когда был вызван save. Для таких случаев есть параметры autonow и autonow_add.



Офлайн

#3 Авг. 4, 2013 11:19:39

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

django timezone

К тому же модуль datetime ничего не знает о settings.py



Офлайн

#4 Авг. 5, 2013 07:11:38

legi0ner
От: Чебоксары
Зарегистрирован: 2012-05-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

django timezone

Спасибо за ответ.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version