Pythonプログラミング入門・サンプル・チュートリアル

Pythonプログラミング入門・サンプル・チュートリアル

【Pythonプログラミング入門】djangoでYAMLで作成したFixtureを使う

Fixtureを使うための流れ

  1. YAMLファイルを作成
  2. YAMLの配置
  3. Fixtureのロード

手順

YAMLファイルを作成

拡張子は「yaml」で作成する。「yml」だとFixtureデータロード時にエラーになる。

- model: board.category
  pk: 1
  fields:
    name: 経済
- model: board.category
  pk: 2
  fields:
    name: エンタメ

YAMLの配置

「プロジェクト/アプリケーション/fixtures」フォルダに作成したYAMLを配置する

Fixtureのロード

python3 manage.py loaddata <Fixture名>

Fixture名には拡張子を指定するは必要ない。

「CommandError: No fixture named '<Fixture名>' found.」となる場合

自分の場合、下記2つの理由で失敗しました。

  • YAMLの拡張子が「yaml」でない
  • pyyamlがインストールされていない

拡張子を直し、pyyamlをインストールしたら、ロードできました。

pyyamlをインストールについて

pip3 install pyyaml