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

DoN*_*tMe 17 python mysql django datetime django-timezone

我有DateTimeField列的模型.

我试图通过sql查询将带有数据库current_time值的行直接插入到表中.

我对MySQL数据库的SQL查询如下:

INSERT INTO MyTable (..., my_datetime, ...) VALUES (..., current_time, ...)
Run Code Online (Sandbox Code Playgroud)

得到:

运行时警告:DateTimeField ModelName.field_name在时区支持处于活动状态时收到了一个天真的日期时间(2014-01-09 22:16:23).

如何在没有警告的情况下通过sql查询直接将当前时间插入到表中?

hel*_*ate 41

除了falsetru的答案之外,如果已经创建了日期时间,您可以将其转换为时区感知:

from django.utils import timezone
my_datetime = timezone.make_aware(my_datetime, timezone.get_current_timezone())
Run Code Online (Sandbox Code Playgroud)


fal*_*tru 22

django.utils.timezone.now而不是datetime.datetime.now.

from django.utils import timezone
current_time = timezone.now()
Run Code Online (Sandbox Code Playgroud)