为什么我不能正确地将它插入Django?

时间:2010-04-01 10:30:56

标签: python mysql database django time

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 个答案:

答案 0 :(得分:2)

您的时区与Django settings.py TIME_ZONE中设置的内容之间存在差异。默认情况下,它是'America / Chicago'。

答案 1 :(得分:1)

我怀疑Django根据G​​MT节省了数据库中的时间,ORM根据您的地区将其返还给您。

告诉我们使用此代码的内容:

print MyTable.objects.all().order_by("-last_updated")[0].get()