Почему я не могу правильно вставить это в Django? - PullRequest
0 голосов
/ 01 апреля 2010
new_thing = MyTable(last_updated=datetime.datetime.now())
new_thing.save()

>>>>select * from MyTable\G;
last_updated: 2010-04-01 05:26:21

Тем не менее, в моей консоли Python ... это то, что он говорит ...

>>> print datetime.datetime.now()
2010-04-01 10:26:21.643041

Так что очевидно, что он выключен на 5 часов. Кстати, база данных использует «SYSTEM» в качестве своего времени, поэтому они должны идеально совпадать.

mysql> SELECT current_time;
+--------------+
| current_time |
+--------------+
| 10:30:16     |
+--------------+
>>> print datetime.datetime.now()
2010-04-01 10:30:17.793040

Ответы [ 2 ]

2 голосов
/ 01 апреля 2010

Разница между вашим часовым поясом и тем, что установлено в Джанго settings.py TIME_ZONE По умолчанию это «Америка / Чикаго».

1 голос
/ 01 апреля 2010

Я подозреваю, что Django сэкономит время в БД в соответствии с GMT, а ORM вернет его вам в соответствии с вашей локалью.

Скажите, что говорит этот код:

print MyTable.objects.all().order_by("-last_updated")[0].get()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...