Django データベースに初期データを登録する
Djangoでデータベースに初期データを登録する方法を紹介します。
appという名前でアプリケーションを作成し、Django マイグレーションの基本的な使い方で紹介した方法で、model.pyに定義したテーブルの定義情報をデータベースに登録してある状態とします。
データファイルの作成
appフォルダにfixturesという名前でフォルダを作成します。
fixturesフォルダの中に、初期データを登録するjsonファイルを作成します。
今回はinit.jsonという名前で作成します。
- app
- fixtures
- init.json
- fixtures
init.jsonは以下のように記載します。
modelにはテーブル名、pkにはプライマリキー(通常は1〜連番)、fieldsにはカラム名と登録するデータをそれぞれ記載します。
init.json[
{
"model": "app.setting",
"pk": 1,
"fields": {
"column1": "5",
"column2": "test"
}
},
{
"model": "app.category",
"pk": 1,
"fields": {
"category_name": "カテゴリー1"
}
},
{
"model": "app.category",
"pk": 2,
"fields": {
"category_name": "カテゴリー2"
}
}
]データの登録
以下のコマンドで、init.jsonに定義したデータをデータベースに登録します。
$ python manage.py loaddata init.json