Löst: django hur man skapar superanvändare om inte existerar vid migrering

Om en superanvändare inte finns på migreringen kommer Django att skapa 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örsta raden skapar en funktion som skapar en superanvändare om en sådan inte redan finns.
Den andra raden hämtar användarmodellen från 'auth'-appen.
Den tredje raden kontrollerar om det finns en användare med användarnamnet "admin". Om inte,
den fjärde raden skapar en superanvändare med användarnamnet "admin", e-postadressen "admin@example.com" och lösenordet "lösenord".
Den femte och sjätte raden skapar en migreringsklass och anger att den beror på migreringen '0001_initial' i appen 'myapp'.
Den sjunde raden anger att migreringen ska köra funktionen 'create_superuser'.

Vad är en superanvändare

En superanvändare är en användare med administrativa rättigheter på en Django-webbplats. De kan göra saker som att skapa och hantera modeller, vyer och applikationer.

Relaterade inlägg:

Lämna en kommentar