Django 使用order_by對時間進行排序,數據返回混亂問題


我們使用order_by對時間進行排序,可能出現數據沒有按照時間排序。其實是我們的錯覺,出現問題的原因是由於時區的問題。

 

下來我們就說一下解決時區的問題辦法

 

 在setting文件里面注釋掉默認按照美國時間的TIME_ZON

添加中國/上海

 

 

下面是詳細配置解釋

Django 時間與時區設置問題

 
  • 在Django的配置文件settings.py中,有兩個配置參數是跟時間與時區有關的,分別是TIME_ZONEUSE_TZ
  • 如果USE_TZ設置為True時,Django會使用系統默認設置的時區,即America/Chicago,此時的TIME_ZONE不管有沒有設置都不起作用。
  • 如果USE_TZ 設置為False,而TIME_ZONE設置為None,則Django還是會使用默認的America/Chicago時間。若TIME_ZONE設置為其它時區的話,則還要分情況,如果是Windows系統,則TIME_ZONE設置是沒用的,Django會使用本機的時間。如果為其他系統,則使用該時區的時間,入設置USE_TZ = FalseTIME_ZONE = 'Asia/Shanghai', 則使用上海的UTC時間。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM