Resuelto: django cómo crear un superusuario si no existe en la migración

Si no existe un superusuario en la migración, Django creará uno.

I have a migration that creates a superuser if it does not exist. 
<code>def create_superuser(apps, schema_editor):
    User = apps.get_model('auth', 'User')

    if not User.objects.filter(username='admin').exists():
        User.objects.create_superuser('admin', 'admin@example.com', 'password')


class Migration(migrations.Migration):

    dependencies = [
        ('myapp', '0001_initial'),
    ]

    operations = [
        migrations.RunPython(create_superuser),
    ] 
</code>

La primera línea crea una función que creará un superusuario si aún no existe uno.
La segunda línea obtiene el modelo de usuario de la aplicación 'auth'.
La tercera línea verifica si existe un usuario con el nombre de usuario 'admin'. Si no,
la cuarta línea crea un superusuario con el nombre de usuario 'admin', la dirección de correo electrónico 'admin@example.com' y la contraseña 'password'.
Las líneas quinta y sexta crean una clase de migración y especifican que depende de la migración '0001_initial' en la aplicación 'myapp'.
La séptima línea especifica que la migración debe ejecutar la función 'create_superuser'.

¿Qué es un superusuario?

Un superusuario es un usuario con privilegios administrativos en un sitio de Django. Pueden hacer cosas como crear y administrar modelos, vistas y aplicaciones.

Artículos Relacionados:

Deja un comentario