Search code examples
djangodjango-fixtures

How to add superuser in Django from fixture


How to add SUPERuser(not just user) through Django fixtures?

Let's say I wanna have login:admin, password:admin.


Solution

  • solution 1

    On empty database:

    python manage.py createsuperuser
    python manage.py dumpdata auth.User --indent 4 > users.json
    

    and in users.json You have needed fixtures.

    solution 2

    ./manage.py shell
    
    >>> from django.contrib.auth.hashers import make_password
    >>> make_password('test')
    'pbkdf2_sha256$10000$vkRy7QauoLLj$ry+3xm3YX+YrSXbri8s3EcXDIrx5ceM+xQjtpLdw2oE='
    

    and create fixtures file:

    [
        { "model": "auth.user",
            "pk": 1,
            "fields": {
                "username": "admin",
                "password": "pbkdf2_sha256$10000$vkRy7QauoLLj$ry+3xm3YX+YrSXbri8s3EcXDIrx5ceM+xQjtpLdw2oE="
                "is_superuser": true,
                "is_staff": true,
                "is_active": true
            }
        }
    ]