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