Risolto: django come creare un superutente se non esiste sulla migrazione

Se un superutente non esiste sulla migrazione, Django ne creerà 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 prima riga crea una funzione che creerà un superutente se non ne esiste già uno.
La seconda riga ottiene il modello utente dall'app "auth".
La terza riga controlla se esiste un utente con il nome utente 'admin'. Altrimenti,
la quarta riga crea un superutente con il nome utente 'admin', l'indirizzo e-mail 'admin@example.com' e la password 'password'.
La quinta e la sesta riga creano una classe di migrazione e specificano che dipende dalla migrazione '0001_initial' nell'app 'myapp'.
La settima riga specifica che la migrazione dovrebbe eseguire la funzione 'create_superuser'.

Cos'è un Superutente

Un superutente è un utente con privilegi amministrativi su un sito Django. Possono fare cose come creare e gestire modelli, viste e applicazioni.

Related posts:

Lascia un tuo commento