Ratkaistu: django kuinka luodaan superkäyttäjä, jos sitä ei ole olemassa siirron yhteydessä

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.

Related viestiä:

Jätä kommentti