我在我的有效负载中添加时间戳,并将其存储在每个记录的数据库中。
假设我的有效负载的一部分是{"content":[{"timestamp":"2017-12-12 08:05:30"}]
这是我处理它的方式。
content['timestamp'] = parser.parse(content['timestamp'],dayfirst=True)
我的模型的时间戳字段为:
timestamp = models.DateTimeField(null=True)
当我签入我的数据库时,它将时间戳字段存储为:
2017-12-12 13:35:30
根据我的要求,应按原样存储。 2017-12-12 08:05:30
即它存储时间戳字段+我的本地时区(+5:30)小时。
我希望它按原样存储时间戳字段。
我尝试了其他帖子,建议使用del os.environ['TZ']
。
我知道我可能做了什么导致了这个或我能做些什么来避免这种情况。
感谢任何帮助。
答案 0 :(得分:0)
所以根据这个问题,问题是当django将datetime转换为数据库中的postgres timestamptz时。
Postgres prevent timestamp with timezone conversion
所以我需要在PostgreSQL中有时间戳字段
为了做到这一点,我需要使用这个问题中的答案。
Can we have django DatetimeField without timezone?
我需要在设置中指定USE_TZ = False。
这可以确保在迁移PostgreSQL时将datetimefield视为转换为时间戳而不是timestamptz。
答案 1 :(得分:0)
您可以在settings.py
中设置时区以下是有效时区列表:
http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
您可以使用
TIME_ZONE ='亚洲/加尔各答'
代表UTC + 05:30
的参考资料