python - queryset - 如何在外部填充一個Django模型?




python django教學 (3)

從外部來源填充數據到Django模型的最佳方法是什麼?

例如,我有一個模型運行,並在一個XML文件,每週更改運行數據。

我應該創建一個視圖,並從curl cronjob中調用該視圖URL(這樣做的好處是可以隨時讀取數據,而不僅僅是在cronjob運行時),或者創建一個python腳本並將該腳本安裝為cron(使用DJANGO _SETTINGS執行腳本之前_MODULE變量設置)?


在項目環境中有一些很好的方式來做類似維護的工作 - 寫一個自定義的manage.py命令 。 它需要所有的環境配置和其他的東西,讓你專注於具體的任務。

當然也可以通過cron直接調用它。


我已經使用cron來更新我的數據庫使用腳本和視圖。 從cron的角度來看,你選擇哪一個並不重要。 但是,正如你所指出的那樣,如果你想要以非定期的時間間隔進行更新的話,很難打敗瀏覽器並點擊URL的簡單性。

如果你走查看路線,可能值得考慮通過HTTP POST接受XML文件本身的視圖。 如果這對你的數據是有意義的(你不會提供關於那個XML文件的很多信息),它仍然可以從cron工作,但也可以接受來自瀏覽器的上傳 - 可能讓產生XML文件的人更新DB自己。 如果您不是製作XML文件的人,那麼這是一個巨大的勝利,通常我的經驗就是這樣。


你不需要創建一個視圖,你應該觸發一個python腳本,並配置相應的Django環境設置 。 然後直接調用你的模型,如果你使用的是視圖,處理你的數據,將它添加到你的模型,然後將模型保存到數據庫。





django-models