2017-04-21 96 views
0

我開始使用內置於Django中的「重定向」應用來替換我在urls.py中的一些現有重定向。我想知道是否有任何普遍接受的方式在其他應用程序的代碼庫中包含初始數據。例如,如果它是爲我創建的應用程序創建的,我可以創建一個遷移文件,其中有一個RunPython部分,我可以加載一些初始數據。使用內置或第三方應用程序,似乎沒有辦法創建遷移文件來添加初始數據。內置應用的Django初始數據

現在我能想到的最好方法是在存儲庫中包含一個.sql文件和初始數據,並在將代碼推送到不同實例時手動導入數據。

回答

2

您可以通過使用固定裝置

做在你的應用程序目錄下創建一個文件夾名fixtures

使用這個命令來創建你想作爲初始數據的JSON文件。

python manage.py dumpdata you_app_name.model_name --indent 2 > model_name.json 

拷貝model_name.jsonfixtures文件夾。

將代碼上傳到回購。

然後在migrate command之後。輸入此命令以加載初始數據。

python manage.py loaddata model_name.json 

reference

+0

我知道我可以創建一個項目範圍內的燈具目錄與'FIXTURE_DIRS'所以我想這是最好的選擇至今。但是,遷移後仍需要手動操作。 –

+0

@TimTisdall如果你使用的是Linux操作系統。那麼你可以編寫一個別名命令並傳遞python manage.py migrate && python manage.py loaddata。所以它會在一個步驟中做到這一點。或者使用python fab(Fabric)並編寫一個函數在一次調用中完成所有命令。 – Thameem

+0

@TimTisdall。我認爲它的解決方案。我不知道更多。 – Thameem