我可以执行 姜戈中的 dumpdata只在一个单一的模式,而不是整个应用程序,如果可以,如何?
dumpdata
对于一个应用程序来说,它应该是:
python manage.py dumpdata myapp
但是,我希望转储一些特定的模型,比如“ myapp.mymodel”。原因是,我有一些巨大的,300多万记录,在同一个应用程序中的数据集,我不想抛弃。
我认为你的问题已经有了解决方案,你可以像这样抛弃一个单独的模型:
./manage.py dumpdata myapp.my_model
从版本1.1及更高版本开始,Django dumpdata管理命令允许您从单个表中转储数据:
./manage.py dumpdata myapp1 myapp2.my_model
您还可以在命令行上分离多个应用程序和模型:
django-admin dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]]
作为一个解决方案,您可以创建另一个应用程序并复制模型,但是将其指向具有 db _ table 元选项的现有表。然后你就可以把复制的模型转储到新的应用程序中。你现有的应用程序不会受到影响。
正如前面提到的,在 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()
我已经创建了一个管理命令,用于在每个模型的基础上生成一个 fixture。 Fixture 可以通过运行以下命令生成:
./manage generate_fixtures app.model.MyModel --file=dump/MyModel.json
密码: https://gist.github.com/2394883
为了获得成功,我必须说两次,并指定模型两次,比如:
./manage.py dumpdata myapp2.my_model myapp2.my_model
如果我说
./manage.py dumpdata myapp2 myapp2.my_model
我被 myapp2中的所有模型淹没了,尽管我指定了 my _ model。
从 django 模型将所有数据转换为 json 格式。
句法:
python manage.py dumpdata app_name.model_name
对于 例子从 group _ mission 模型中转储数据,该模型位于 django 中默认的 auth 应用程序中。
python manage.py dumpdata auth.group_permission
要获得输出,请查看 控制台。
将其写入特定文件:
python manage.py dumpdata app_label.ModelName app_label.ModelName2 > fixtures/specic.json
如果只希望转储模型的指定对象,则可以对 dump data 命令使用 PK可选参数。
—— pks PRIMARY _ KEYS 仅输出由逗号分隔的主键列表指定的对象。只有在倒垃圾的时候才有 默认情况下,模型的所有记录都被输出。
特定文件的特定模型:
python manage.py dumpdata app_label.ModelName > specific_file.json
并将其加载到另一个应用程序: 首先将该文件移动或复制到您希望处理该文件的应用程序,然后:
python manage.py loaddata specific_file.json
对于像我这样的 Django 和 Python 新手来说,这可能是有用的:
如果你只想转储一行(当然是一个表) ,例如你有一个应用程序“商人”,模型也被命名为“商人”,你通常使用一个完全限定的名称来导入它,如: merchant.models.Merchant; 别想用这个名字。语法如下:
merchant.models.Merchant
# only dumps the merchant with id = 123, pretty printed python manage.py dumpdata merchant.Merchant --pks 123 --indent 2
用于将数据从特定 APP 的特定模型中转储出来。
如果我们举一个例子,我们有一个主要项目(我们去叫它 < strong > project ) ,在这个主要项目我们有两个(02)其他应用程序(我们去叫每个应用程序像这样的 APP1 和 APP2 ) ,我们可以这样做