我可以仅在单个模型上而不是整个应用程序中dumpdata在Django中执行,如果可以,如何执行?
dumpdata
对于一个应用程序,它将是:
python manage.py dumpdata myapp
但是,我希望转储某些特定的模型,例如“ myapp.mymodel”。原因是,在我不希望转储的同一应用程序中,我有300万条巨大的记录数据集。
从1.1版及更高版本开始,Django dumpdata管理命令允许你从单个表中转储数据:
./manage.py dumpdata myapp1 myapp2.my_model
你还可以在命令行上分离多个应用程序和模型。这是规范的定义:
django-admin dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]]
如前所述,你无法通过Django 1.0中的manage.py命令执行此操作。但是,你可以使用脚本导出JSON文件,并使用loaddata以下命令加载它:
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()