アプリ全体ではなく、単一のモデルに対してのみDjangodumpdata
で実行できますか?
アプリの場合は次のようになります。
python manage.py dumpdata myapp
ただし、「myapp.mymodel」などの特定のモデルをダンプする必要があります。その理由は、ダンプしたくない同じアプリに 300 万件の巨大なレコードとデータセットがあるためです。
アプリ全体ではなく、単一のモデルに対してのみDjangodumpdata
で実行できますか?
アプリの場合は次のようになります。
python manage.py dumpdata myapp
ただし、「myapp.mymodel」などの特定のモデルをダンプする必要があります。その理由は、ダンプしたくない同じアプリに 300 万件の巨大なレコードとデータセットがあるためです。
モデルごとにフィクスチャを生成する管理コマンドを作成しました。フィクスチャは、次を実行して生成できます。
./manage generate_fixtures app.model.MyModel --file=dump/MyModel.json
私のような Django と Python の初心者にとって、これは役に立つかもしれません:
単一の行 (明らかに単一のテーブルの) のみをダンプしたい場合、たとえばアプリ「merchant」があり、モデルにも「Merchant」という名前が付けられている場合、通常はこのような完全修飾名を使用してインポートします: merchant.models.Merchant
; この名前を使おうとさえしないでください。構文は次のとおりです。
# only dumps the merchant with id = 123, pretty printed
python manage.py dumpdata merchant.Merchant --pks 123 --indent 2
特定のファイルに書き込むには:
python manage.py dumpdata app_label.ModelName app_label.ModelName2 > fixtures/specic.json