Django的转储数据的单一模式?(Django dump data for a single mo

2019-06-25 15:23发布

我可以执行dumpdata中的Django上只是一个单一的模式,而不是整个应用程序,如果是这样,怎么样?

对于一个应用程序将是:

python manage.py dumpdata myapp

不过,我想一些具体的模型,如“myapp.mymodel”转储。 其原因是,我有一些巨大的,300万条记录加,因为我不希望甩相同的应用程序的数据集。

Answer 1:

由于1.1和更高版本,Django的dumpdata管理命令可以让你倾倒来自各个表中的数据:

./manage.py dumpdata myapp1 myapp2.my_model

您也可以在命令行上分隔多个应用程序和模型。 这里是典型的定义:

django-admin dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]]


Answer 2:

正如指出的那样,你无法通过在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()


Answer 3:

我觉得你有你的问题解决方案。 你可以转储像这样的个别型号:

./manage.py dumpdata myapp.my_model


Answer 4:

就拿从Django的模型中的所有数据转换成JSON格式。

句法:

python manage.py dumpdata app_name.model_name

例如倾倒从其中驻留在缺省auth应用在Django group_permission模型数据。

python manage.py dumpdata auth.group_permission

对于输出呈现控制台看看。



Answer 5:

对于成功,我不得不说了两遍,并指定型号的两倍,如:

./manage.py dumpdata myapp2.my_model myapp2.my_model

如果我只说

./manage.py dumpdata myapp2 myapp2.my_model

我被淹没在myapp2所有的车型,尽管我指定my_model的事实。



Answer 6:

作为一种变通方法,你可以让另一个应用程序,并复制模型,但它与db_table元选项指向现有的表。 然后,你可以只甩了你复制到新的应用程序模型。 您现有的应用程序将不会受到影响。



Answer 7:

我创建了一个管理命令的产生在每个模型基础上的常客。 灯具可以通过运行产生:

./manage generate_fixtures app.model.MyModel --file=dump/MyModel.json

在代码: https://gist.github.com/2394883



文章来源: Django dump data for a single model?