Riješeno: django kako stvoriti superkorisnika ako ne postoji pri migraciji

Ako superkorisnik ne postoji u migraciji, Django će ga stvoriti.

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>

Prvi redak stvara funkciju koja će stvoriti superkorisnika ako on već ne postoji.
Drugi redak dobiva korisnički model iz aplikacije 'auth'.
Treća linija provjerava da li postoji korisnik s korisničkim imenom 'admin'. Ako ne,
četvrti redak stvara superkorisnika s korisničkim imenom 'admin', adresom e-pošte 'admin@example.com' i lozinkom 'password'.
Peti i šesti redak stvaraju klasu migracije i specificiraju da ovisi o migraciji '0001_initial' u aplikaciji 'myapp'.
Sedmi redak navodi da migracija treba pokrenuti funkciju 'create_superuser'.

Što je Superuser

Superuser je korisnik s administrativnim ovlastima na Django stranici. Oni mogu raditi stvari poput stvaranja i upravljanja modelima, pogledima i aplikacijama.

Povezani postovi:

Ostavite komentar