Løst: django hvordan lage superbruker hvis ikke eksisterer ved migrering

Hvis en superbruker ikke eksisterer på migreringen, vil Django opprette 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 linjen lager en funksjon som vil opprette en superbruker hvis en ikke allerede eksisterer.
Den andre linjen henter brukermodellen fra 'auth'-appen.
Den tredje linjen sjekker om det finnes en bruker med brukernavnet 'admin'. Hvis ikke,
den fjerde linjen oppretter en superbruker med brukernavnet 'admin', e-postadressen 'admin@example.com' og passordet 'passord'.
Den femte og sjette linjen oppretter en migreringsklasse og spesifiserer at den avhenger av migreringen '0001_initial' i appen 'myapp'.
Den syvende linjen spesifiserer at migreringen skal kjøre funksjonen 'create_superuser'.

Hva er en superbruker

En superbruker er en bruker med administrative rettigheter på et Django-nettsted. De kan gjøre ting som å lage og administrere modeller, visninger og applikasjoner.

Relaterte innlegg:

Legg igjen en kommentar