2015-03-25 50 views
0

我的數據庫中有我的模型的值1/19/2014 4:40,DateTimeField在Django中接受該值嗎?因爲我試圖根據範圍來過濾我的模型。目前,它是CharField,我會將其更改爲DateTimeField,因爲我猜不可能按CharField過濾範圍。我對嗎?在Django中接受的日期時間字段值

回答

0

對於範圍過濾,該字段必須以格式SQL存儲在SQL數據庫中,可以執行查詢範圍。

字段只是文本,因此SQL無法知道您查詢的是什麼類型的範圍,因爲它不理解文本。

因此,您需要將您的字段轉換爲DateTimeField。這種遷移很可能無法使用默認設置執行,您需要編寫一些自己的遷移邏輯。您可以使用幫助程序包,如dateutil

  • 在模型中創建一個新的領域

  • 遷移datababase

  • 解析在新領域的所有舊值和存儲

  • 刪除舊場

  • 將新字段重命名爲舊字段

+0

那麼,我的當前值是否在Django'DateTimeField'中被接受?因爲我的數據是從正在運行的程序自動生成的。 – 2015-03-25 07:16:21

+0

請參閱編輯 - 我的瀏覽器在評論中墜毀 – 2015-03-25 07:17:37

+0

實際上,我可以直接編輯我的其他程序中的值,以便下一次生成它時使用正確的格式。我不知道的是,接受的'DateTimeField'值或所述字段的正確格式。 – 2015-03-25 07:32:30

相關問題