【发布时间】:2015-10-19 12:30:07
【问题描述】:
所以我正在努力学习 Python 和 Django……很棒的语言和框架。
也就是说,请原谅我这个看似非常愚蠢的问题。
我有一个不会在单个时区之外使用的 Django 项目,因此以 UTC 保存内容并在需要时转换为“本地”时区并没有多大意义。
问题是我似乎无法找到一种“Python/Django”方式来正确执行此操作,如下所示:
> python manage.py shell
Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.utils import timezone
>>> timezone.localtime(timezone.now())
datetime.datetime(2015, 10, 19, 10, 17, 58, 153065, tzinfo=<DstTzInfo 'America/Sao_Paulo' BRST-1 day, 22:00:00 DST>)
>>> from thingie.models import Thingie
>>> a=Thingie(field1="teste",field2="12121",field3="112121",field4="904095034",timestamp=timezone.localtime(timezone.now()))
>>> a.save()
就目前而言,这会在我的 MySQL 数据库中创建一条记录,但时间戳字段记录为 UTC 时间...
我做错了什么?如何保存本地时间的时间戳?
提前致谢!
编辑
根据我对 Daniel 的回复,使用 datetime 在 Django 中会生成一个警告,这导致我禁用了 USE_TZ (USE_TZ = False)。这似乎可以解决问题,但我想知道是否有任何不需要的行为,因为文档建议使用时区支持。
再次感谢!
【问题讨论】:
标签: django python-2.7