RuntimeWarning:DateTimeField 收到一个天真的日期时间,具有正确的时区和设置

Posted

技术标签:

【中文标题】RuntimeWarning:DateTimeField 收到一个天真的日期时间,具有正确的时区和设置【英文标题】:RuntimeWarning: DateTimeField received a naive datetime, with correct timezone and settings 【发布时间】:2021-02-17 21:40:24 【问题描述】:

我收到此错误消息:

RuntimeWarning:DateTimeField Z.data_zal 收到一个幼稚的日期时间 (2020-11-05 07:13:24) 当时区支持处于活动状态时。 warnings.warn("DateTimeField %s 收到了一个简单的日期时间 (%s)"

在创建我的模型实例的这一步:views.py

 from django.utils import timezone

 t = Z(data_z=timezone.now().strftime('%Y-%m-%d %H:%M:%S'), data_r=data_r, author=request.user)
 try:
     t.save()

据我所知,当使用datetime 模块而不是timezone 时会发生此错误。 有时问题出在错误的settings.py 但我正在运行:

TIME_ZONE = 'Europe/Warsaw'

USE_TZ = True

似乎是什么问题?

【问题讨论】:

【参考方案1】:

不要 .strftime() 你让 timezone.now() 天真。 https://docs.djangoproject.com/en/3.1/topics/i18n/timezones/

【讨论】:

那我该如何设置日期时间格式呢?我需要以这种格式 '%Y-%m-%d %H:%M:%S' 将它提供给模型 不,你没有......如果你的模型字段 data_z 是 models.DateTimeField() timzone.now() 就足够了

以上是关于RuntimeWarning:DateTimeField 收到一个天真的日期时间,具有正确的时区和设置的主要内容,如果未能解决你的问题,请参考以下文章

Pycharm 更新到 2016.2 后导入 RuntimeWarning

Django 中 DateField 的 RuntimeWarning

RuntimeWarning:DateTimeField 收到一个天真的日期时间,具有正确的时区和设置

RuntimeWarning:在除法中遇到无效值

RuntimeWarning:DateTimeField 收到一个天真的日期时间

RuntimeWarning:Glyph 21435 missing from current font.