warnings.warn("DateTimeField %s received a naive datetime (%s)"
warnings.warn("DateTimeField %s received a naive datetime (%s)"
我使用 django simple-history 获取模型的历史记录
然后我按日期搜索历史结果,但出现以下错误。如何格式化日期?
RuntimeWarning: DateTimeField HistoricalIssue.history_date received a naive datetime (2022-04-13 10:34:32) while time zone support is active.
warnings.warn("DateTimeField %s received a naive datetime (%s)"
def SearchByDate(request):
date_search = request.POST['date-search']
if date_search:
admin_hist_search_results = Issue.history.filter(history_date=date_search)
首先,请记住这不是错误,而“只是”一个警告。它提到传入的时间戳(您存储在变量 date_search
中)没有时区信息,而您将其与具有时区的时间戳字段(模型 Issue
上的 history_date
)进行比较信息。这可能会导致问题。
如果您知道请求的时区,您可以将该信息添加到时间戳中,例如:
import pytz
date_as_string = request.POST['date-search']
parsed_date = datetime.strptime(date_as_string, '%Y-%m-%d')
amsterdam_timezone = pytz.timezone('Europe/Amsterdam')
date_search = amsterdam_timezone.localize(parsed_date)
我使用 django simple-history 获取模型的历史记录 然后我按日期搜索历史结果,但出现以下错误。如何格式化日期?
RuntimeWarning: DateTimeField HistoricalIssue.history_date received a naive datetime (2022-04-13 10:34:32) while time zone support is active.
warnings.warn("DateTimeField %s received a naive datetime (%s)"
def SearchByDate(request):
date_search = request.POST['date-search']
if date_search:
admin_hist_search_results = Issue.history.filter(history_date=date_search)
首先,请记住这不是错误,而“只是”一个警告。它提到传入的时间戳(您存储在变量 date_search
中)没有时区信息,而您将其与具有时区的时间戳字段(模型 Issue
上的 history_date
)进行比较信息。这可能会导致问题。
如果您知道请求的时区,您可以将该信息添加到时间戳中,例如:
import pytz
date_as_string = request.POST['date-search']
parsed_date = datetime.strptime(date_as_string, '%Y-%m-%d')
amsterdam_timezone = pytz.timezone('Europe/Amsterdam')
date_search = amsterdam_timezone.localize(parsed_date)