Løst: django hvordan man opretter superbruger hvis ikke eksisterer på migrering

Hvis der ikke findes en superbruger på migreringen, vil Django oprette en.

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>

Den første linje opretter en funktion, der vil oprette en superbruger, hvis en sådan ikke allerede eksisterer.
Den anden linje henter brugermodellen fra 'auth'-appen.
Den tredje linje kontrollerer, om der findes en bruger med brugernavnet 'admin'. Hvis ikke,
den fjerde linje opretter en superbruger med brugernavnet 'admin', e-mailadressen 'admin@example.com' og adgangskoden 'adgangskode'.
Den femte og sjette linje opretter en migrationsklasse og angiver, at den afhænger af migreringen '0001_initial' i appen 'myapp'.
Den syvende linje angiver, at migreringen skal køre funktionen 'create_superuser'.

Hvad er en superbruger

En superbruger er en bruger med administrative rettigheder på et Django-websted. De kan gøre ting som at oprette og administrere modeller, visninger og applikationer.

Relaterede indlæg:

Efterlad en kommentar