Lahendatud: django kuidas luua superkasutaja, kui seda migreerimisel ei eksisteeri

Kui migratsioonil superkasutajat pole, loob Django selle.

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>

Esimene rida loob funktsiooni, mis loob superkasutaja, kui seda veel pole.
Teine rida saab kasutaja mudeli rakendusest "auth".
Kolmas rida kontrollib, kas on olemas kasutaja nimega "admin". Kui ei,
neljas rida loob superkasutaja kasutajanimega "admin", e-posti aadressiga "admin@example.com" ja parooliga "parool".
Viies ja kuues rida loovad migratsiooniklassi ja täpsustavad, et see sõltub migratsioonist '0001_initial' rakenduses 'myapp'.
Seitsmes rida täpsustab, et migratsioon peaks käivitama funktsiooni "create_superuser".

Mis on superkasutaja

Superkasutaja on Django saidil administraatoriõigustega kasutaja. Nad saavad teha näiteks mudeleid, vaateid ja rakendusi luua ja hallata.

Seonduvad postitused:

Jäta kommentaar