RuntimeWarning: DateTimeField received a naive datetime in django
我正在为我的一个django模型设置一个日期时间字段。我的代码如下:
1 2 | dt = datetime.fromtimestamp(mktime(parsed_feed.updated_parsed)) feed.updated = dt |
更新后的分析IS结构的格式为:
1 | time.struct_time(tm_year=2016, tm_mon=4, tm_mday=26, tm_hour=8, tm_min=20, tm_sec=43, tm_wday=1, tm_yday=117, tm_isdst=0) |
更新的显然是django日期时间字段。我正在尝试将该结构转换为日期时间对象,然后将其设置为我的字段。一切都很好地工作,并且设置了正确的日期和时间,但是,我在控制台中得到了这个错误(警告):
1 2 | RuntimeWarning: DateTimeField Feed.updated received a naive datetime (2016-04-26 08:25:08) while time zone support is active. RuntimeWarning) |
如何将时区支持集成到日期时间对象(dt)中?
如本答案所述:
下面的行创建一个幼稚的(不区分时区)日期时间:
1 | creationDate = datetime.datetime.now() |
尝试将该行更改为:
1 | creationDate = timezone.now() |
不要忘记在代码开头导入时区:
1 | from django.utils import timezone |
使用PYTZ包装。所以把Pytz导入到你的视图中。
1 2 | t = pytz.timezone('Europe/Warsaw').localize( datetime(2013, 5, 11, hour=11, minute=0)) |
你的时区应该在你的设置中设置。使用pytz进行日期时间和时区转换-令人兴奋的行为