【发布时间】:2018-05-14 16:45:39
【问题描述】:
我正在使用一个 API,该 API 向我传递了一个时间/日期字段,他们无法保证其中始终包含时区信息。
根据他们的文档,该字段可以是:
Empty String,
YYYY-MM-DD,
YYYY-MM-DDTHH:MM:SS, or
YYYY-MM-DDTHH:MM:SS+TIMEZONE
当我尝试将该字段保存到数据库中的模型时,如果数据没有时区信息,则会生成此错误。我保存此值的字段在其模型中定义为:
my_timedate_field = models.DateTimeField()
至少我想禁止在保存每条记录时生成警告。有什么具体的我可以做的让这更干净吗?
编辑:警告是:
RuntimeWarning: DateTimeField my_timedate_field received a naive datetime while time zone support is active. RuntimeWarning)
每次我处理 api 调用时,这些警告都会出现在我的日志中 - 考虑到元素的显示方式,有时每个 api 调用会出现 5-10 次。
【问题讨论】:
-
您要删除哪些警告?我认为您可以尝试使用 date_parser 来解析正确的时间格式,因为它们似乎都是可识别的
-
我已经在问题中添加了具体的警告信息。
标签: python django datetime django-models timezone