djangodatabasepermissionsusergroupsdefaults

Default permission/group data in Django


Every time I wipe the database of my Django app during testing (or when cloning or deployin), I have to go into /admin and set up permissions and groups. Where would I put the code that would populate the DB with them and what would it look like?


Solution

  • For this you can use fixtures.

    For example:

    python manage.py dumpdata auth > fixtures/auth.json
    

    This will store all models of package 'auth' (Users, Groups Relations) into auth.json After Deployment you can use the following command to load:

    python manage.py loaddata auth fixtures/auth.json
    

    This will restore your prev state of 'auth'.

    Maybe it's good for you to switch to South, a very famous part of Django to migrate databases instead of recreating them.