使用fixture将django admin auth.groups和用户迁移到新数据库

时间:2011-07-27 13:06:51

标签: django postgresql django-admin django-fixtures django-manage.py

以下是该方案:

我正在使用django的管理界面,我希望能够通过fixtures加载用户和组(如果可能的话。)我可以像这样转储用户/组:

manage.py dumpdata auth auth.group > usersandgroups.json

但是在将数据加载到一个全新的数据库中时......

manage.py loaddata <appname>/fixtures/usersandgroups.json

我得到了与外键等有关的各种错误。这是一个例子:

django.db.utils.IntegrityError: insert or update on table "auth_permission" violates foreign key constraint "content_type_id_refs_id_728de91f"

DETAIL: Key (content_type_id)=(37) is not present in table "django_content_type".

如果有人能指出我正确的方向,我真的很感激。提前谢谢!

1 个答案:

答案 0 :(得分:16)

您的转储中不仅包含用户和组,即权限。您因权限而遇到冲突。因为你不需要那些,只需从夹具中取出它们。

manage.py dumpdata auth.User auth.Group > usersandgroups.json