Atrisināts: django kā izveidot superlietotāju, ja migrācijas laikā tas nepastāv

Ja migrācijas laikā superlietotājs nepastāv, Django to izveidos.

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>

Pirmajā rindā tiek izveidota funkcija, kas izveidos superlietotāju, ja tāda vēl nav.
Otrajā rindā tiek iegūts lietotāja modelis no lietotnes “auth”.
Trešajā rindā tiek pārbaudīts, vai pastāv lietotājs ar lietotājvārdu "admin". Ja nē,
ceturtajā rindā tiek izveidots superlietotājs ar lietotājvārdu "admin", e-pasta adresi "admin@example.com" un paroli "parole".
Piektā un sestā rinda izveido migrācijas klasi un norāda, ka tā ir atkarīga no migrācijas “0001_initial” lietotnē “myapp”.
Septītajā rindā ir norādīts, ka migrācijai ir jāpalaiž funkcija "create_superuser".

Kas ir superlietotājs

Superlietotājs ir lietotājs ar administratora privilēģijām Django vietnē. Viņi var veikt tādas darbības kā modeļu, skatu un lietojumprogrammu izveide un pārvaldība.

Related posts:

Leave a Comment