如何在Django中管理.py loaddata

时间:2017-02-08 23:44:26

标签: django django-manage.py

我现在正在与这个命令战斗几个小时。

如果我这样做

python manage.py dumpdata --natural-foreign --> data.json

当我加载数据时,我收到错误

  

无法加载contenttypes.ContentType(pk = 19):重复键值   违反了独特的约束   “django_content_type_app_label_76bd3d3b_uniq”详细信息:密钥(app_label,   model)=(misuper,stockitem)已经存在。

然后,如果我做

python manage.py dumpdata --natural-foreign --exclude=contenttypes --> data.json

我得到了类似的错误但是有一个̣auth.Permission对象:

  

无法加载auth.Permission(pk = 55):违反重复键值   唯一约束“auth_permission_content_type_id_01ab375a_uniq”

如果我这样做

python manage.py dumpdata --natural-foreign --exclude=contenttypes --exclude=auth --> data.json

当我加载数据时,我得到了

  

用户匹配查询不存在

当然,我正在排除身份验证表。

所以...... WTF可以加载数据吗?我的所有测试都依赖于此。

我相信文档是不够的。我被困在这里,请帮忙。

1 个答案:

答案 0 :(得分:21)

试试这样:

python manage.py dumpdata --natural-foreign \
   --exclude auth.permission --exclude contenttypes \
   --indent 4 > data.json