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.