在Django中以可識別時區的方式查詢當前創建的對象(或過去某個特定天數的特定日期)的最有效方法是什麼?Django日期時間查詢
我知道有很多關於這個問題,但答案大多沒有納入時區的認識,似乎沒有被任何明確的答案,最近,大多數解決方案將產生天真的日期時間的警告:
RuntimeWarning:DateTimeField收到一個天真的日期時間(2012-10-23 00:00:00),而時區支持處於活動狀態。
我正在運行帶有時區支持的Django 1.5,並且始終使用pytz和UTC時區。
在Django中以可識別時區的方式查詢當前創建的對象(或過去某個特定天數的特定日期)的最有效方法是什麼?Django日期時間查詢
我知道有很多關於這個問題,但答案大多沒有納入時區的認識,似乎沒有被任何明確的答案,最近,大多數解決方案將產生天真的日期時間的警告:
RuntimeWarning:DateTimeField收到一個天真的日期時間(2012-10-23 00:00:00),而時區支持處於活動狀態。
我正在運行帶有時區支持的Django 1.5,並且始終使用pytz和UTC時區。
另一種選擇是
from django.utils.timezone import utc
utcnow = datetime.utcnow().replace(tzinfo=utc)
的Django有一個內置的功能轉換天真的日期時間對象時區知道的:
from django.utils import timezone
enlightened_date = timezone.make_aware(naive_date, timezone.utc)