【问题标题】:RuntimeWarning: DateTimeField received a naive datetime, with correct timezone and settingsRuntimeWarning:DateTimeField 收到一个天真的日期时间,具有正确的时区和设置
【发布时间】: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

似乎是什么问题?

【问题讨论】:

    标签: django datetime


    【解决方案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() 就足够了
    猜你喜欢
    • 2013-09-08
    • 2018-02-15
    • 1970-01-01
    • 2016-08-19
    • 2021-11-24
    • 2014-01-29
    • 1970-01-01
    • 2014-03-28
    相关资源
    最近更新 更多