Migrate user groups and permissions in Django?
-
01-07-2021 - |
题
I've built an application that I want to move from my development server to my production server. In this application I have defined 3 custom groups in auth.group
and each of those have specific permissions.
I've tried to dump the data from auth.group - it seems to include permissions ids as well. The problem is, those IDs don't match between my development environment and the production environment. It also seems there is a content_type_id
in auth.permission that I don't know how it relates.
My question is, is there a way using dumpdata
or something else, to migrate Groups and all of the related permissions for my application? I don't have a problem importing multiple fixtures on the production server, but I do want all of the groups to be set up without having to go through the UI and selecting the appropriate permissions for each group.
解决方案
django.contrib.auth
depends on django.contrib.contenttypes
because auth.models.Permission.content_type
is a ForeignKey(ContentType)
.
Solution: add ContentType in your data dump, ie. dumpdata with the following arguments: auth.group contenttypes.contenttype auth.permission