回答:
バージョン1.1以降では、Django dumpdata
管理コマンドを使用して、個々のテーブルからデータをダンプできます。
./manage.py dumpdata myapp1 myapp2.my_model
コマンドラインで複数のアプリとモデルを分離することもできます。これが正規の定義です:
django-admin dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]]
--indent 4
後からフラグを使用するにはdumpdata
すでに述べたように、Django 1.0ではmanage.pyコマンドを使用してこれを行うことはできません。ただし、スクリプトを使用してJSONファイルをエクスポートし、次のコマンドを使用して読み込むことができますloaddata
。
from django.core import serializers
from myproject.myapp import models
data = serializers.serialize("json", models.MyModel.objects.all())
out = open("mymodel.json", "w")
out.write(data)
out.close()
あなたはあなたの質問に解決策を持っていると思います。次のようにして、個々のモデルをダンプできます。
./manage.py dumpdata myapp.my_model
成功するために、私はそれを2回言って、次のようにモデルを2回指定する必要がありました。
./manage.py dumpdata myapp2.my_model myapp2.my_model
私が言っただけなら
./manage.py dumpdata myapp2 myapp2.my_model
my_modelを指定したにもかかわらず、myapp2のすべてのモデルが殺到しました。
モデルごとにフィクスチャを生成する管理コマンドを作成しました。フィクスチャは以下を実行することで生成できます:
./manage generate_fixtures app.model.MyModel --file=dump/MyModel.json