Dacă un superutilizator nu există la migrare, Django va crea unul.
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>
Prima linie creează o funcție care va crea un superutilizator dacă nu există deja unul.
A doua linie primește modelul User din aplicația „auth”.
A treia linie verifică dacă există un utilizator cu numele de utilizator „admin”. Dacă nu,
a patra linie creează un superutilizator cu numele de utilizator „admin”, adresa de e-mail „admin@example.com” și parola „parolă”.
A cincea și a șasea rânduri creează o clasă de migrare și specifică că aceasta depinde de migrarea „0001_initial” din aplicația „myapp”.
A șaptea linie specifică că migrarea ar trebui să ruleze funcția „create_superuser”.
Ce este un superutilizator
Un superutilizator este un utilizator cu privilegii administrative pe un site Django. Ei pot face lucruri precum să creeze și să gestioneze modele, vizualizări și aplicații.