Jos pääkäyttäjää ei ole siirrossa, Django luo sellaisen.
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>
Ensimmäinen rivi luo funktion, joka luo superkäyttäjän, jos sellaista ei vielä ole.
Toinen rivi saa käyttäjämallin "auth"-sovelluksesta.
Kolmas rivi tarkistaa, onko olemassa käyttäjää, jonka käyttäjänimi on "admin". Jos ei,
neljäs rivi luo superkäyttäjän, jonka käyttäjätunnus on 'admin', sähköpostiosoite 'admin@example.com' ja salasana 'salasana'.
Viides ja kuudes rivi luovat siirtoluokan ja määrittävät, että se riippuu sovelluksen myapp siirrosta '0001_initial'.
Seitsemäs rivi määrittää, että siirron tulee suorittaa toiminto "create_superuser".
Mikä on Superuser
Pääkäyttäjä on käyttäjä, jolla on järjestelmänvalvojan oikeudet Django-sivustolla. He voivat tehdä asioita, kuten luoda ja hallita malleja, näkymiä ja sovelluksia.