Megoldva: django hogyan lehet szuperfelhasználót létrehozni, ha nem létezik a migráció során

Ha nem létezik szuperfelhasználó a migráció során, a Django létrehoz egyet.

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>

Az első sor létrehoz egy függvényt, amely létrehoz egy szuperfelhasználót, ha még nem létezik.
A második sor a felhasználói modellt kapja az „auth” alkalmazásból.
A harmadik sor azt ellenőrzi, hogy létezik-e „admin” felhasználónévvel rendelkező felhasználó. Ha nem,
a negyedik sor létrehoz egy szuperfelhasználót az „admin” felhasználónévvel, az „admin@example.com” e-mail címmel és a „password” jelszóval.
Az ötödik és hatodik sor létrehoz egy áttelepítési osztályt, és meghatározza, hogy az a „myapp” alkalmazás „0001_initial” áttelepítésétől függ.
A hetedik sor azt határozza meg, hogy az áttelepítésnek a 'create_superuser' függvényt kell futtatnia.

Mi az a Superuser

A szuperfelhasználó olyan felhasználó, aki rendszergazdai jogosultságokkal rendelkezik a Django webhelyen. Olyan dolgokat tehetnek, mint például modellek, nézetek és alkalmazások létrehozása és kezelése.

Kapcsolódó hozzászólások:

Írj hozzászólást