一尘不染

Django转储单个模型的数据?

django

我可以仅在单个模型上而不是整个应用程序中dumpdata在Django中执行,如果可以,如何执行?

对于一个应用程序,它将是:

python manage.py dumpdata myapp

但是,我希望转储某些特定的模型,例如“ myapp.mymodel”。原因是,在我不希望转储的同一应用程序中,我有300万条巨大的记录数据集。


阅读 287

收藏
2020-04-01

共2个答案

一尘不染

从1.1版及更高版本开始,Django dumpdata管理命令允许你从单个表中转储数据:

./manage.py dumpdata myapp1 myapp2.my_model

你还可以在命令行上分离多个应用程序和模型。这是规范的定义:

django-admin dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]]
2020-04-01
一尘不染

如前所述,你无法通过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()
2020-04-01